Re[3]: Андроид активити
От: mr_trwister  
Дата: 27.10.15 13:11
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Здравствуйте, mr_trwister, Вы писали:


_>>http://habrahabr.ru/post/144275/


M>Это была попытка номер 2 у меня, пока я не осознал, что onPause не всегда вызывается и соответсвенно просто так нельзя уведомить сервис, что сейчас активити откинет копыта. Отсюда и проблемы с последующим восстановлением после того как юзвер нажал Home.

M>В общем, пока что вариант с единствнным методом onResume работает, геморойно, но хоть не падает.


насчет того, что onStop может не вызываться — это какое-то сомнительное утверждение в документации.
есть какое-то противоречие в двух независимых цитатах.

Note that this method may never be called, in low memory situations where the system does not have enough memory to keep your activity's process running after its onPause() method is called.


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

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


если это все так супер критично и не требуется отображение обновления после onPause, то можно отключать подписку на события о новых данных в onPause. если нет, то мне кажется можно и в onStop и особо не бояться, пока не появятся факты, что что-то все таки падает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.