首页»版块 兴趣街区 爱数码 答疑!为啥你的安卓手机升级系统后,首次启动会比较慢?

答疑!为啥你的安卓手机升级系统后,首次启动会比较慢?

    [复制帖子标题和链接]

1.5万4

荣耀粉丝42367419 玩机达人  发表于 2017-8-31 10:42:37 属地未知 来自:浏览器


最近很多花粉私聊所长表示,自己的安卓手机系统升级后,可能都会遇到一种情况:手机首次启动的时间好久,首次打开应用的时间也比往常要长。到底为什么会这样呢?所长帮你答疑解惑

其实这是Android 系统从5.0版本开始就出现的普遍情况——手机在运行应用之前先将应用的字节码翻译成后续运行效率更高的机器码,这个过程技术上称为dex2oat

为什么安卓从5.0开始要做这个dex2oat呢?说白了就是做一次编译工作(耗时可能有点长),后续手机运行便能更流畅,应用打开也更快速。这就好比所长跟一个外国人交流,所长不会说英语就找了一个翻译,沟通起来非常的麻烦;后来所长自己学习了英语,所长把自己的语言直接编译成了沟通效率更高的外语,这样一来所长虽然首次学外语的过程很痛苦很漫长(的确十分痛苦),但后面所长发现跟外国人交流起来效率提高了许多,而且这效率提升是长期持续的。

答疑!为啥你的安卓手机升级系统后,首次启动会比较慢?

那么,我们的安卓手机在什么情况下会进行Dex2oat翻译呢?主要有以下几个时机:

1.        机器首次开机或者恢复出厂设置

2.        系统升级后开机过程

3.        应用安装时

4.        应用更新时

5.        应用首次启动时(如果此应用之前四种情况没有做过dex2oat)

正如前面所说的,我们的安卓手机在系统升级后的启动过程中,会有一个应用程序的扫描阶段,将应用的字节码翻译成机器码,这过程需要一定的时间,而且已安装的应用越多时间越长。这个过程其实是Android系统本身为提高升级后应用的性能和用户体验而进行的优化过程,因此其实这个时间是值得等待的。

答疑!为啥你的安卓手机升级系统后,首次启动会比较慢?

一个应用在做完dex2oat后,只要你的手机系统不升级或者应用本身不升级,之后每次执行都是直接执行生成的机器码,不用每次解释执行,高效更高,我们感受到,也是运行更流畅,启动更快速。(不但可以达到18个月不卡顿)

好了,相信各位在看了以上内容对“安卓手机升级系统后,首次启动为什么会比较慢”有了一定了解,大家对手机方面有啥困惑也可以戳聊所长哦,如果粉粉们的建议被所长看中,可能有大把花瓣等你~
您需要登录后才可以评论 登录 | 立即注册
简体中文 - China
快速回复 返回顶部 返回列表