RK2908开机时间分析及优化
1 RK2908开机时间分析和优化文档背景概述
目前由于RK2908开机时间比较长(平均35s)可能对一体机项目的整体体验造成影响,所以需要对RK2908开机整个流程进行分析,是否有优化的地方。
2 分析RK2908开机所用的整体时间
2.1 统计的方法
采用bootchart 生成bootchart.png
2.1.1 Bootchart简介
Bootchart 是一个能对 GNU/Linux boot 过程进行性能分析并把结果直观化的工具。它在 boot 过程中搜集资源利用情况及进程信息然后以 PNG,SVG 或 EPS 格式来显示结果。 BootChart 包含数据收集工具和图像产生工具,数据收集工具在原始的 BootChart 中是独立的 shell 程序,但在 Android 中,数据收集工具被集成到了 init 程序中。(Bootchart在android系统中的使用见文档:bootchart-android)
2.1.2 Bootchart结果
2.1.3 分析结果
图中4个区域就是整个开机耗时的地方
1: kernel init
大概7s左右
2:zygote class preloading
从7-19s,大概12s
3:systemserver start
从19-32s,大概13s
4:packagemanager package scanning
从32-51s,大概19s
从中可以看出大部分时间都在preload classes和start systemservers及scan packages
3 优化方案
从实际的测试数据分析,首先可以优化zygote的装载类。
zygote的装载类preloaded-classes在下载源码的时候已经确定,在RK2908的SDK中,这个文件共加载了2000多个类,进行分类,主要加载的类有:google服务的类及android framework的类及java类。想做极速启动,可以在preloaded-classes文件中,把不预装载的类去掉只剩下java的类以加快启动速度,但是会影响HOME的响应,apk的响应。
优化/system/app/下的apk包,可以减少一些不需要的apk,从而加快scan packages的时间。Apk的删减建议可以看文档:systemapp中的APK一览.xlsx
优化系统预装语言支持。可以裁减系统预装语言只保留中文(简体),英语。
优化systemserver,server的优化建议可以看文档:SystemServer中启动服务列表.xlsx
可以去掉android开机动画,bootanimation。去掉bootanimation方法可以参考文档:
4 优化后RK2908开机所用的整体时间
1 2 3 4 5 6 7 8 9 10
24 23 23 23 22 21 23 23 23 23
5 优化结论
通过对preloaded-classes,scan packages,systemserver,bootanimation的分析和优化,初步可以得出此次优化效果还是比较明显的,但优化后对整个系统的影响需要做进一步的评估。
RK2908开机时间分析及优化相关推荐
- Android开机时间分析
一. 关于本篇博文 该文档简单主要描述了如何找出开机各个阶段耗时情况,以及对开机各个阶段的分析方法和如何优化开机时间,减少耗时.便于读者可以通过此文档了解开机时间的各个阶段的耗时情况. 二.开机各阶段 ...
- 【Android系统】Android开机时间分析
参看博客: https://www.jianshu.com/p/30fdf86c3462?from=singlemessage ...
- 开机时间分析工具WPT Xperf使用
1.使用xbootmgr工具收集启动信息 xbootmgr.exe -trace boot 2.分析启动过程和性能 xperf -i "boot_BASE+CSWITCH_1.etl&quo ...
- 安卓系统开机时间优化分析
Android 开机时间分析工具-----perfboot 安卓10开机时间优化分析 Android开机阶段log分析
- 谷歌浏览器network请求时间分析!
谷歌浏览器network请求时间分析及优化方法: network工具功能强大,能够让我看到网页加载的信息,比如加载时间,和先后顺序,是否是并行加载,还是堵塞加载. 默认情况下有八列: (1).Na ...
- 安卓10开机时间优化分析
本文从以下六点分析开机时间 1.软件环境2.开机时间测试方法3.开机各阶段重要的时间节点4.bootchart工具使用说明5.Android开机时间日志信息6.开机时间优化方案 一.软件环境 平台:a ...
- android 性能优化---(2) MTK 平台开机时间优化
一.在工程模式开启MTKLogger, 开机后取日志bootprof adb pull /storage/emulated/0/mtklog/mobilelog/APLog_2018_0309_10 ...
- Android开机时间工具分析
背景 android 上面有很多的方法可以分析开机时间 比如打log,通过log 分析.android 的官网上面提供了下面的两种图形化的方式来分析开机时间,一些异常很明显的拖长整个开机时间的活动 可 ...
- 计算机启动时间过长,开机时间太长怎么办【图解】
现在人们生活娱乐.工作.学习都会或多或少的用到电脑,在电脑被使用越发频繁的今天,电脑出现的问题也就相应得多了,最常见的问题之一就是电脑的开机时间太长,导致的原因可能是因为电脑的使用时间太久了,当然,也 ...
最新文章
- Yolo v4, v3 and v2 性能极简图示
- 基于相关系数的影像匹配_智库丨陈晓勇:低空摄影测量立体影像匹配的现状与展望...
- golang image.image 转文件流_Kuiper 1.0.2 正式发布 超轻量 IoT 边缘流处理
- 06Prism WPF 入门实战 - Log控件库
- 强大的Canvas开源库Fabric.js简介与开发指南
- 使用MySQL的存储过程
- php mysql mvc_超简洁PHPMVC
- mysql导出选择两张表,Mysql导出(多张表)表结构及表数据 mysqldump用法
- (转)全文检索技术学习(三)——Lucene支持中文分词
- 英语发音规则---C字母
- java biginteger string_String到BigInteger java
- [leetcode]5325. 包含所有三种字符的子字符串数目
- pygame学习_part1_pygame写程序前的准备工作
- 解决办法:std没有成员initializer_list
- MatLab数字图像处理实战(赵小川)-sift原理
- easy_ui之搭建后台界面(一)
- MSP与PGMP的关联性与区别
- SurfaceView和View最本质的区别
- 软件测试常见面试题合集(接口测试面试详细答案)
- html5复选框控制按钮状态,HTML input checkbox复选按钮简介说明