Жизнен цикъл на статичните променливи в android

Какъв е жизненият цикъл на статичните променливи в Android?

Открих, че понякога някои статични променливи, обвързани с дейности, се оказаха неинициализирани, въпреки че преди това са били инициализирани! Мислех, че когато се инициализира статична променлива, тя остава така през целия живот на приложението, но това не изглежда да е така.


person sunil sunny    schedule 24.01.2014    source източник
comment
Как определяте живота на приложението?   -  person Henry    schedule 24.01.2014
comment
Как определяте приложението?   -  person SK9    schedule 24.01.2014
comment
Открих, че понякога някои статични променливи, обвързани с дейности, се оказаха неинициализирани, въпреки че преди това са били инициализирани! Точно обратното е действителният случай.   -  person    schedule 18.07.2016


Отговори (2)


Android може да убие приложението ви, ако му свърши паметта и всичките му дейности са във фонов режим (не се виждат). Но вашата активност остава в историята и потребителят може да я активира отново. В този случай системата ще пресъздаде вашето приложение и ще възстанови състоянието му. За да се справите с този случай, трябва да съхранявате състоянието на вашето приложение и дейности в постоянна памет (файлове, база данни и т.н.). Повече информация можете да намерите тук http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

person Yury Zaitsev    schedule 24.01.2014

Зависи дали сте го дефинирали, например:

Ако процесът бъде убит, тогава всички статични променливи ще бъдат повторно инициализирани до техните стойности по подразбиране.

Така че каквато и стойност да сте задали в Дейност А, няма да се запази. Същото важи и когато една дейност е унищожена.

person An-droid    schedule 24.01.2014