android 6.0 系统第一次启动launcher 启动慢问题分析
2017-03-24 14:30
871 查看
机器第一次开机 开机动画完了之后很久桌面才显示出来问题测试分析
两款使用6.0开发板测试结果:
1.A第一次启动, 动画到launcher 显示时间分别为16S.
2. B第一次启动,
动画到launcher 显示时间分别为11S.
原因分析:
6.0 采用的是ART虚拟机 , 由于在ART 环境中,应用在第一次安装的时候,会进行预编译,
即字节码就会预先编译成机器码,使其成为真正的本地应用。
而4.4以前的Dalvik虚拟机,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,
安装的时候没有编译, 所以会有差别.
log分析:
20170324_11:35:5601-01 08:12:06.101 994 1106 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher3/.Launcher} from uid 0 on
display 0
20170324_11:36:0101-01 08:12:07.363 994 1013 I ActivityManager: Displayed com.android.launcher3/.Launcher: +1s249ms (total +21s679ms)
ActivityManager 启动到显示launcher3 总共花去5秒左右, 基本符合测试现象.
这个问题只会影响第一次安装启动过程. 对用户影响不大.
两款使用6.0开发板测试结果:
1.A第一次启动, 动画到launcher 显示时间分别为16S.
2. B第一次启动,
动画到launcher 显示时间分别为11S.
原因分析:
6.0 采用的是ART虚拟机 , 由于在ART 环境中,应用在第一次安装的时候,会进行预编译,
即字节码就会预先编译成机器码,使其成为真正的本地应用。
而4.4以前的Dalvik虚拟机,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机器码,
安装的时候没有编译, 所以会有差别.
log分析:
20170324_11:35:5601-01 08:12:06.101 994 1106 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.launcher3/.Launcher} from uid 0 on
display 0
20170324_11:36:0101-01 08:12:07.363 994 1013 I ActivityManager: Displayed com.android.launcher3/.Launcher: +1s249ms (total +21s679ms)
ActivityManager 启动到显示launcher3 总共花去5秒左右, 基本符合测试现象.
这个问题只会影响第一次安装启动过程. 对用户影响不大.
相关文章推荐
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析(1)
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析(2)
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android 6.0 AMS分析的第二条线:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互等知识;
- 分析:Android系统刷机后,第一次开机启动很慢的原因
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析(3)
- Android系统默认Home应用程序(Launcher)的启动过程源码分析