утечки памяти приложения Android - PullRequest
0 голосов
/ 23 декабря 2009

Я использую поисковую систему результатов, проблема в том, чтобы запомнить критерии поиска, которые я создал для одноэлементного статического класса, который содержит только один экземпляр.

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

Проблема в том, что мое приложение может аварийно завершить работу в любое время, где любое место и интересная вещь - код аварийного завершения, всегда окруженный try {} catch (Throwable e){} блокировать, но никогда не поймать, я думаю, что это может быть проблема с заполнением памяти.

Я хочу обсудить один пример, на странице результатов я также отображаю изображение, связанное с результатом, я загружаю изображение из Интернета и использую рисование.поместите изображение в viewview, я создал статическую хэш-карту для повторного использования изображений, через некоторое время после сбоя приложения 5 загрузок изображений несколько раз нажмите на результат, чтобы перейти к новому экрану подробностей, получить сбой, и весь код окружен блоком try catch, я новичок в мобильном телефонеЗапрограммируйте, эта вещь стала для меня ночной кобылой.

Последнее, на эмуляторе почти не происходит сбой приложения, но когда я пытаюсь протестировать приложение на устройстве, я использую samsung glaxy android, поддерживаемый для тестирования приложения, оно идет гладко, и внезапно оно начинает падать, а после сбоя перезапуск андроидаактивность, которая выдает исключение нулевого указателя при каждом щелчке и перехваченная блоком try {} catch {}. Я думаю, что после сбоя Android освобождают все объекты, оставляя только объекты пользовательского интерфейса, поэтому после автоматического запуска действия щелчок мышью вызывает исключение нулевого указателя.

как я могу прекратить возобновление сбойной активности ????

1 Ответ

1 голос
/ 24 декабря 2009

Вот несколько советов, которые могут помочь отследить ваши проблемы:

  • ввести ведение журнала - использовать Log для регистрации полезной (отладочной) информации
  • избегать пустых блоков захвата - используйте Log.e() для регистрации ваших исключений
  • сокращение функциональности до минимума для отладки

Чтобы получить полезный ответ о Stackoverflow, вам необходимо выполнить все вышеперечисленное и предоставить более подробное описание проблемы (например, конкретную трассировку стека в выводе logcat).

Также есть статья о Предотвращении утечек памяти , которая может быть вам интересна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...