原标题:为什么安卓手机升级系统后,首次启动会比较慢?
点击
很多小伙伴对安卓手机进行系统升级后,可能都会遇到一种情况:手机首次启动的时间好久,首次打开应用的时间也比往常要长。
为什么会出现这种情况?
其实,这是Android 系统从5.0版本开始就出现的普遍情况——手机在运行应用之前先将应用的字节码翻译成后续运行效率更高的机器码,这个过程技术上称为Dex2oat。
Dex2oat是什么?
为什么安卓从5.0开始要做这个dex2oat呢,说白了就是做一次编译工作(耗时可能有点长),后续手机运行便能更流畅,应用打开也更快速。
这就好比你跟一个外国人交流,之前总是需要一个翻译,沟通起来非常麻烦;后来你自己学习了英语,你把自己的语言直接编译成了沟通效率更高的外语。这样一来,虽然你首次学外语的过程很痛苦很漫长,但后面会发现跟外国人交流起来效率提高了许多,而且这效率提升是长期持续的。
Dex2oat什么时候会进行翻译?
那么,我们的安卓手机什么情况下会进行Dex2oat翻译呢?主要有以下几个时机:
机器首次开机或者恢复出厂设置;
系统升级后开机过程;
应用安装时;
应用更新时;
应用首次启动时。(如果此应用之前四种情况没有做过dex2oat)
总结
正如前面所说的,我们的安卓手机在系统升级后的启动过程中,会有一个应用程序的扫描阶段,将应用的字节码翻译成机器码,这过程需要一定的时间,而且已安装的应用越多时间越长。这个过程其实是Android系统本身为提高升级后应用的性能和用户体验而进行的优化过程。
一个应用在做完Dex2oat后,只要系统不升级或者应用本身不升级,之后每次执行都是直接执行生成的机器码,不用每次解释再执行,效率更高,运行更流畅,启动更快速,因此其实这个时间是值得等待的。
今日话题
有哪一刻让你觉得即使等待也是值得的?
各位粉粉注意~
每日话题活动升级啦~
只要参与当日话题
直至第二日18点截止热门留言第一的粉粉
花花将送出神秘礼品一份
所有礼品一周结算一次
欢迎各位粉粉踊跃来和花花尬聊喔
今日话题的神秘礼品是
责任编辑: