Использование статических переменных и времени жизни в жизненном цикле активности - PullRequest
0 голосов
/ 27 августа 2018

Каков срок службы статической переменной?
Если у меня статический ArrayList, инициализированный в синглтоне, я должен ожидать, что ссылка будет null, только если приложение будет убито пользователем? Или это может быть null, если некоторые действия убиты в фоновом режиме?

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Статические переменные остаются активными, пока все приложение не будет уничтожено или уничтожено. Если приложение находится в режиме паузы, статическая переменная по-прежнему содержит значение

0 голосов
/ 27 августа 2018

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

Возможно ли для виртуальной машины Android собирать статические переменные без уничтожения всего приложения Android?

Цитата:

Может случиться так, что пользователь находится в вашем приложении, покидает приложение через HOME (или уведомление, или входящий вызов, или список недавних задач и т. Д.), А затем возвращаетв ваше приложение через список недавних задач.Если ваш процесс был прерван в то время, когда он не находился на переднем плане, ваш статический член данных будет нулевым, когда ваша деятельность будет запущена из списка недавних задач.Поскольку действие, к которому возвращается пользователь, не обязательно может быть вашим действием средства запуска, ваше приложение может вести себя так, как если бы элемент статических данных самопроизвольно обнулялся, даже если это произошло из-за того, что ваш процесс был завершен и перезапущен.

0 голосов
/ 27 августа 2018

статическая переменная не станет нулевой, если действие прекращено.

...