【发布时间】:2016-07-05 03:36:38
【问题描述】:
在更新 android 时,它会“优化”应用程序。这个过程需要相当长的时间。这需要很长时间,以至于我想知道是否会更改任何二进制文件以提高性能。这对开发人员有什么改变吗?所以我的问题是当android这样做时会发生什么?
【问题讨论】:
标签: java android optimization updates
在更新 android 时,它会“优化”应用程序。这个过程需要相当长的时间。这需要很长时间,以至于我想知道是否会更改任何二进制文件以提高性能。这对开发人员有什么改变吗?所以我的问题是当android这样做时会发生什么?
【问题讨论】:
标签: java android optimization updates
在更新 android 时,它会“优化”应用程序
仅适用于 Android 5.0-6.0。
当 android 这样做时会发生什么?
ART runtime 正在通过所谓的提前 (AOT) 编译为大多数 Java 字节码生成本机指令。
请注意,Android 7.0 将不再在安装时应用 AOT,而是会随着时间的推移逐步应用。
这对开发人员有什么改变吗?
虽然older JNI code sometimes has issues,但 AOT 通常不会。
【讨论】:
Android 操作系统在安装后不会按原样存储应用程序(即 1 个单个 APK 文件)。应用程序的优化版本存储在 Dalvik 缓存中 - 称为 odex 文件。
如果您已将手机植根,您将能够查看该分区并看到您的许多应用程序都有相关文件。
回到您的问题,初始启动是生成 odex 文件的时间。随后随着应用程序的安装和启动。这是在你更新时发生的。
阅读更多http://www.xda-developers.com/
如果想进一步阅读,这篇文章对理解“odex”文件的概念很有帮助:http://www.addictivetips.com/mobile/what-is-odex-and-deodex-in-android-complete-guide/
【讨论】:
当一个 APK 文件被添加到你的 Android 系统时,它实际上并不是 以这种方式存储。它被转换成一个叫做“odex”的文件。 维基百科指出,“dex”代表 Dalvik EXecutable,“odex”代表 Optimized Dalvik EXecutable。
当它说优化应用程序 - 将它们转换为 odex 时,它就是这样做的。一般发生在系统更新时。阅读更多here
【讨论】: