ART:对method()的验证花费了X毫秒-花费了几分钟

时间:2019-03-13 12:44:21

标签: android android-testing dalvik android-runtime

最近,当我尝试调试android测试仪器APK时,每次启动该应用时,我都会在logcat中看到类似的内容

W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function0() took 158.211ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function1() took 101.701ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function2() took 110.852ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function3() took 211.494ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function4() took 102.497ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function5() took 126.639ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function6() took 138.077ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function7() took 131.311ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function8() took 253.859ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function9() took 111.431ms
W/com.myapp: Verification of void com.myapp.test.hiptest.Actionwords.function10() took 231.172ms

但是有更多行(用于所有功能)。每个功能都需要100-300毫秒,而到它们全部完成时-已经过去了5-10分钟。 (这意味着我在这10分钟内实际上无法做任何事情)

一些Google搜索导致我进入this SO thread,这解释了以下内容:

  

看起来这是“向后兼容性”要求的一部分   用于较新的ART运行时。也就是说,针对DALVIK构建的应用需要   还能在ART上运行。

     

如果您在ART系统上运行DVM应用,则会看到以下消息:   当dex2oat转换应用程序时,它第一次运行。如果你建   面向ART的应用程序,该应用程序将不再能够运行   在DVM上,但是OAT转换将在安装过程中发生,并且   在运行时看不到。

但是,我不确定自己在做什么错。该应用程序和测试APK均使用targetSdk 27​​和minSdk 21进行编译(并在sdk 27​​上运行这些应用程序)

This other SO thread似乎也与我所遇到的相似,但是没有提供答案。

重要提示:只有通过“调试”工具栏图标运行的版本才会发生这种情况,而单击“运行”运行的版本不会发生这种情况。

0 个答案:

没有答案