Что происходит с действиями и фрагментами, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 24 февраля 2019

Я понимаю базовый жизненный цикл действия / фрагмента, но иногда, когда пользователь переводит приложение в фоновое состояние на длительное время, я не уверен, что произойдет, когда он снова откроет его.Недавно я столкнулся с ошибкой: пользователь получает исключение nullpointer, вызывая метод представления, сохраненного в переменной класса (textView = findViewById (...)) внутри метода OnResume фрагмента.Переменная устанавливается в OnViewCreated ().Возможно ли, что в течение длительного периода времени фрагмент может потерять свои поля из-за нехватки памяти?Когда будет вызываться onResume (), а когда onCreate ()?

1 Ответ

0 голосов
/ 24 февраля 2019

Если приложение долгое время находится в фоновом режиме, его процесс будет остановлен операционной системой или если на устройстве недостаточно памяти.Чтобы проверить, как ваше приложение работает в этих условиях, используйте флаг "Do not keep activities" в параметрах разработчика на вашем устройстве.В описанном случае onCreate будет вызвано, когда Activity выйдет на передний план.

Если процесс еще не завершен, то будет запущен onResume.Нормальные переменные сохраняются, но проблема в том, что вы никогда не можете быть уверены, когда звоните onResume и когда звоните onCreate (так как вы не можете контролировать, когда Android просто выходит и выбрасывает вещи в стекокно ... все, что в данный момент не используется, может быть уничтоженодействия.

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