重新启动时 Android "optimising" 是什么?

What is Android "optimising" during restarts?

第一个问题,感谢您的指导。我目前正在自学为 Android 开发并已将我的应用程序(在构建后通过 Studio)安装到我自己的 phone.

我的 phone 会时不时地自行重启(不查询 - 这些事情会发生)。

在这些(偶尔)重新启动期间,我会收到一条消息,指出 Android 是 "Optimising App 1 of 1"。我很确定这是我的应用 "optimised".

我在这里和网上搜索过。大多数问题似乎是最近升级 OS 版本的用户导致了问题。似乎有轶事证据表明擦除缓存可以解决这个问题,而且只有在设备充电时才会这样做。

但是,如果是我的应用程序,我不希望我的用户经历这些。我怀疑它与我使用的 Target SDK 有关,但它可能有所不同?

那么,Android 优化的是什么?我怎样才能尽最大努力阻止我的应用程序成为这个问题的原因?

非常感谢。

从 Android 5.0 开始,Android 使用 ART 而不是 DVM 所以每次你的手机 OS 升级都会发生这种情况。此外,“优化应用程序”应该只在 OS 升级后发生一次。如果每次都这样,说明你的手机有问题。

A factory reset should be probably solving this. (You have to go through the pains of redownloading all your apps etc).

早期 Android OS 在 Dalvik 运行时用于 运行,这意味着应用程序用于在执行时编译。但是现在,Android 已经切换到 Lollipop 版本的 ART。这意味着所有应用程序都将预先编译,从而使它们启动速度更快。所以 "Optimizing the Apps" 基本上意味着 Android 正在编译所有应用程序。