Application.onLowMemory () не вызывается - PullRequest
0 голосов
/ 16 марта 2011

Я создал собственный класс Application.

Я пытаюсь его отладить, и код останавливается на Application.onCreate (), но не останавливается на onLowMemory.

Для проверкиСценарий, который я открываю для многих других приложений с большим объемом памяти.

Я вижу, что сеанс отладки завершен (в затмении), а некоторые из моих статических переменных стали равными нулю - указывает, что процесс завершен.*

Мало того, что отладка НЕ ​​остановила @ точку останова метода, я поставил строку Log.e (...) и тоже ее не вижу.

Любая идеяпочему метод не был вызван?

Спасибо.

1 Ответ

3 голосов
/ 16 марта 2011

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

Из документов :

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

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

Как правило, Android может убить ваше приложение, когда захочет, если оно находится в фоновом режиме.Вы должны полагаться только на методы в жизненном цикле (такие как onPause, onStop, onDestroy), в которых конкретно указано, что они гарантированно будут вызваны для выполнения любой необходимой очистки.

...