本文共 1992 字,大约阅读时间需要 6 分钟。
This page has notes and materials in support of Tim Bird's presentation "Improving Android Bootup Time",which he gave at.
Contents[] |
Android is a relatively new distribution of Linux, with a completely different user space implementation, compared to desktop or enterprise Linux. It also has some rather horrible boot times. But it's popular - so Tim decided to take a look and see if the bootup time of a standard Android system could be improved. This presentation describes how well he succeeded in this venture. Tim will present methods of measuring kernel and user-space bootup time on an Android system, as well as present some ideas for places where Android bootup time could be improved.
Here's the final presentation which was given at LinuxCon North America, August 2010:
See
[Still need to post my raw data here]
Here is the 'logdelta' program, which can be used to see the time between logcat lines. Using logcat,grep, and logdelta, you can usually figure out how long certain operations are taking, based on the logtimestamps.
Here is a patch which instruments the class preloading and the package scanning, to give more verboseoutput during these phases of the bootup. Note that these will make booting much more verbose, whichwill very likely overrun your logcat buffers. So you may need to grab the data with the 'logcat'command soon after the operation you are interested in occurs.
This patch removes the per-file signature check in parseZipArchive(). It also adds some logging to showhow long the open operation is taking, in ZipFileRO::open
These routines are in the source file: frameworks/base/libs/utils/ZipFileRO.cpp
转载地址:http://eqfvb.baihongyu.com/