На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Hsilgos
  
> Сообщение "Method exceeds compiler instruction limit" в LogCat Android Studio
    Здравствуйте.

    При запуске приложения на родном эмуляторе Android Studio, в LogCat вываливается серия сообщений следующего вида:

    10-14 07:23:48.075 3602-3607/xxx.testcallerandroid I/art: Method exceeds compiler instruction limit: 24336 in void com.xxx.PackageName.ClassName.MethodName()

    В качестве MethodName в разных сообщениях фигурируют имена двух методов. Всего сообщений около 10. При этом приложение успешно отрабатывает.

    Исходя из текста сообщения, причина очевидно в кроется в больших размерах байткода упоминаемых методов. Судя по тому, что компилятор при сборке проекта не ругается, могу предположить, что превышено ограничение именно виртуальной Java машины данного эмулятора.

    В связи с изложенным выше возникло несколько вопросов.

    Вопрос первый: правильно ли я понимаю(трактую) ситуацию (см. выше)?
    Вопрос второй: почему при этом приложение нормально отрабатывает, а не вылетает, например?
    Вопрос третий: как избежать появления данных сообщений?

    Подозреваю, что простейшим методом решения данной проблемы, скорее всего является дробление длинных методов на более короткие. Или нет? Или есть другие методы?

    Заранее благодарен.
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0195 ]   [ 15 queries used ]   [ Generated: 28.03.24, 17:43 GMT ]