Я поражен странной проблемой. Я пишу приложение для Android для просмотра видео с сервера. Приложение имеет разные макеты, и пользователь может переключать каждый макет в соответствии со своими потребностями. Различные макеты загружаются с использованием разных изображений. Иногда я получаю принудительное закрытие, и когда я проверял журнал, он выдает ошибку «Внешнее выделение байтов XXXX слишком велико для этого процесса», «ВМ не позволяет выделять байты XXXX». Может ли кто-нибудь сказать мне конкретную причину этой ошибки и как ее решить?
Я не получаю ошибку в эмуляторе. Но получение ошибки только на устройстве.
На самом деле у меня есть три вида деятельности. Когда я переключаюсь между действиями, все работает нормально. Но когда я нажимаю домашнюю кнопку устройства, когда активность 1 активна, а затем снова принимаю заявку. Не активность 1 активна, и затем я пытаюсь переключиться на активность 2, возникает ошибка выше. Ошибка происходит после метода setContentView. (То есть я поставил журнал перед методом setContentView. После этого журнал не появляется)
Я получаю эту ошибку только в устройстве Sony Xperia. Я проверил это с LG Optimus (меньше памяти, чем Sony Experia). Но в этом телефоне все работает нормально. Также Samsung Galaxy S2 также работает нормально. Можно ли это прокомментировать?
Я поставил try catch (Exception and Error), но не понимаю, где происходит точная ошибка.
Я часто получаю эту ошибку только на Sony Experia. Я проверил это с Nexus, Samsung S2, даже LG Optimus. Но в этих моделях ошибка возникает очень редко.