Android

个人Android学习总结


bootchart 工具

<p>bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统。</p> <p>1、UBuntu下安装bootchart工具 需要安装的工具有两个bootchart和pybootchartgui,用于生成分析结果图片。 执行命令如下:</p> <pre><code class="language-java">apt-get install pybootchartgui</code></pre> <p>2、在Android支持bootchart  Android系统编译时,默认的没有打开bootchart的编译开关,即没有把bootchart编译进系统中。Android对bootchar 的支持在init 中。在init 中加入对bootchart 的支持。</p> <p>1) 修改代码并编译带bootchart功能的rom</p> <p>修改 system/core/init/Android.mk</p> <pre><code>INIT_BOOTCHART := true #ifeq ($(strip $(INIT_BOOTCHART)),true) LOCAL_SRC_FILES += bootchart.c LOCAL_CFLAGS    += -DBOOTCHART=1 #endif</code></pre> <p>修改 system\core\init\bootchart.h </p> <pre><code>#ifndef BOOTCHART # define BOOTCHART 1 //由0 --&amp;gt; 1 #endif</code></pre> <p>或者这样修改system/core/init/Android.mk 文件</p> <h1>ifeq ($(strip $(INIT_BOOTCHART)),true)</h1> <pre><code> LOCAL_SRC_FILES += bootchart.c LOCAL_CFLAGS    += -DBOOTCHART=1 #endif</code></pre> <p>这样修改的话,编译源码之前先设置环境变量</p> <pre><code class="language-java">export INIT_BOOTCHART=true</code></pre> <p>2) 然后直接编译源码,得到新版本</p> <p>kitkat_T3\lichee\tools\pack\sun8iw11p1_android_t3-p3_uart0.img</p> <p>3) 烧录新版本或者push文件</p> <pre><code class="language-java">adb push Z:\pengdeping\git_clone\QD401\kitkat_T3\android\out\target\product\t3-p3\root/init /init</code></pre> <p>4)设定开机数据采样时间(ms)</p> <pre><code>echo 60 &amp;gt; /data/bootchart-start</code></pre> <p>5) 创建结果生成目录</p> <pre><code>mkdir /data/bootchart</code></pre> <p>6) 重新启动后在/data/bootchart会生成测量数据</p> <pre><code>root@t3-p3:/ # ls data/bootchart header kernel_pacct proc_diskstats.log proc_ps.log proc_stat.log</code></pre> <p>到此为止,bootchart执行测量后生成的测量数据已经完成。bootchart对Android开机测量是通过内建在init进程中实现的,在后台执行测量.不过bootchart的测量时段是从bootchart被初始化之后到home screen出来之前,不包括bootloader和kernel的执行时间。</p> <p>7) bootchart测量结果的图形化</p> <p>adb shell --&gt; 进入bootchart 目录下,执行</p> <pre><code class="language-java">busybox tar cvf bootchart.tgz *</code></pre> <p>生成bootchart.tgz文件</p> <p>8) 把bootchart.tgz文件拷贝到安装有bootchart的pc上,然后执行:</p> <pre><code class="language-java">bootchart -f png bootchart.tgz</code></pre> <p>生成bootchart.png 图片</p>

页面列表

ITEM_HTML