【问题标题】:What happens when android optimizes apps?当android优化应用程序时会发生什么?
【发布时间】:2016-07-05 03:36:38
【问题描述】:

在更新 android 时,它会“优化”应用程序。这个过程需要相当长的时间。这需要很长时间,以至于我想知道是否会更改任何二进制文件以提高性能。这对开发人员有什么改变吗?所以我的问题是当android这样做时会发生什么?

【问题讨论】:

    标签: java android optimization updates


    【解决方案1】:

    在更新 android 时,它会“优化”应用程序

    仅适用于 Android 5.0-6.0。

    当 android 这样做时会发生什么?

    ART runtime 正在通过所谓的提前 (AOT) 编译为大多数 Java 字节码生成本机指令。

    请注意,Android 7.0 将不再在安装时应用 AOT,而是会随着时间的推移逐步应用。

    这对开发人员有什么改变吗?

    虽然older JNI code sometimes has issues,但 AOT 通常不会。

    【讨论】:

      【解决方案2】:

      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/

      【讨论】:

        【解决方案3】:

        当一个 APK 文件被添加到你的 Android 系统时,它实际上并不是 以这种方式存储。它被转换成一个叫做“odex”的文件。 维基百科指出,“dex”代表 Dalvik EXecutable,“odex”代表 Optimized Dalvik EXecutable。

        当它说优化应用程序 - 将它们转换为 odex 时,它就是这样做的。一般发生在系统更新时。阅读更多here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-20
          • 2012-06-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多