Определите, запускает ли приложение двоичный файл AOT (или принудительно)Android

Форум для тех, кто программирует под Android
Anonymous
Определите, запускает ли приложение двоичный файл AOT (или принудительно)

Сообщение Anonymous »


Я разрабатываю тестовое приложение для Android, и мне интересно, можно ли определить, работает ли приложение в режиме интерпретатора, JIT-режиме или режиме AOT-компиляции.

Я не уверен, можно ли это выяснить во время выполнения, или это появляется в журналах logcat, или что-то в этом роде.

В документации Android указано, что приложение может работать либо в режиме AOT-компиляции, либо в режиме интерпретатора или интерпретатора + JIT.

Я запустил команды для ручной компиляции APK:

$ adbshell cmd package compile -m Speed ​​-f my-package Но нет подтверждения того, что приложение, которое я запускаю, использует эту скомпилированную версию, а не версию DEX, или даже что код, который я выполняю после загрузки приложения, является скомпилированным кодом, а не кодом DEX.
>
Я заметил, что папка APK содержит файлы ODEX. В документах говорится, что если доступен файл .oat, он будет запущен (здесь у меня есть файлы .odex, которые, я думаю, одинаковы), но они также говорят что они могут вообще не содержать все методы или код. И вопрос в том... Это где-нибудь записывается?

Есть ли способ проверить, что мой код работает с версией, скомпилированной AOT, или заставить его работать таким образом?

Это сделано исключительно для целей отладки.

Вернуться в «Android»