Что происходит со статическими переменными внутри метода onDestroy android? - PullRequest
0 голосов
/ 19 апреля 2019

Я хотел бы спросить, почему статические переменные не очищаются после вызова метода onDestroy () в Android.Являются ли статические переменные «безопасным» способом реализации, например, некоторого типа int, который будет поддерживать состояние приложения и в зависимости от значения, например, что-то произойдет, или SharedPrefferences являются лучшими в подобных случаях?

1 Ответ

0 голосов
/ 19 апреля 2019

Статические переменные никак не контролируются жизненным циклом активности Android. Они являются частью языка Java и предназначены для хранения значений в экземплярах класса.

При этом статические переменные не являются рекомендуемым способом хранения информации о состоянии в приложении Android. Общие предпочтения являются лучшим вариантом, однако они хранятся на диске, поэтому они могут быть слишком постоянными в зависимости от вашей ситуации. Если вам просто нужно сохранить состояние активности при изменениях конфигурации или восстановить активность после долгого пребывания в фоновом режиме, вы можете использовать состояние сохранения экземпляра активности. Смотрите Activity.onSaveInstanceState () и Activity.onRestoreInstanceState (). Чтобы передавать данные о состоянии между действиями, вы можете использовать намеренные дополнения. Если вам нужно разделить переменные между различными компонентами приложения, вы можете определить переменные в объекте приложения. Вы также можете использовать ViewModel. На самом деле все, что предпочтительнее статических переменных.

...