android系统开机启动很慢,为什么安卓手机升级系统后,首次启动会比较慢?

安卓手机在系统升级后首次启动较慢是因为进行了Dex2oat过程,即字节码转机器码的编译优化,以提高后续应用运行效率。这个过程发生在系统升级、首次开机、应用安装或更新、应用首次启动时。虽然初期启动时间延长,但之后应用运行会更加流畅。
摘要由CSDN通过智能技术生成

原标题:为什么安卓手机升级系统后,首次启动会比较慢?

点击

很多小伙伴对安卓手机进行系统升级后,可能都会遇到一种情况:手机首次启动的时间好久,首次打开应用的时间也比往常要长。

b28eaa4bed3d18f9cb23193fdabf0097.png

为什么会出现这种情况?

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

4df6c1c1559312a104f82a98505410aa.png

Dex2oat是什么?

为什么安卓从5.0开始要做这个dex2oat呢,说白了就是做一次编译工作(耗时可能有点长),后续手机运行便能更流畅,应用打开也更快速。

这就好比你跟一个外国人交流,之前总是需要一个翻译,沟通起来非常麻烦;后来你自己学习了英语,你把自己的语言直接编译成了沟通效率更高的外语。这样一来,虽然你首次学外语的过程很痛苦很漫长,但后面会发现跟外国人交流起来效率提高了许多,而且这效率提升是长期持续的。

fbe1a24aa0596d28fcd124b129613aef.png

Dex2oat什么时候会进行翻译?

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

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

系统升级后开机过程;

应用安装时;

应用更新时;

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

7c9731996b3c0f9326670261fe851554.png

总结

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

一个应用在做完Dex2oat后,只要系统不升级或者应用本身不升级,之后每次执行都是直接执行生成的机器码,不用每次解释再执行,效率更高,运行更流畅,启动更快速,因此其实这个时间是值得等待的。

今日话题

有哪一刻让你觉得即使等待也是值得的?

各位粉粉注意~

每日话题活动升级啦~

只要参与当日话题

直至第二日18点截止热门留言第一的粉粉

花花将送出神秘礼品一份

所有礼品一周结算一次

欢迎各位粉粉踊跃来和花花尬聊喔

今日话题的神秘礼品是

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值