2017-01-16 2 views
0
  1. Когда мы можем сказать, что приложение мертво (когда процесс приложения умирает или когда все действия в процессе уничтожаются).ANDROID APPLICATION AND PROCESS

  2. Почему это плохая идея хранить данные в объекте приложения?

    EDIT

  3. Пусть у меня есть WhatIsYourNameActivity, который запрашивает имя пользователя и сохраняет его в MyApplication, которая простирается Применение. У меня есть еще WelcomeActivity, который извлекает это имя из объекта приложения. Если пользователь покидает приложение (используя домашнюю кнопку), и андроид молча убивает приложение, чтобы вернуть некоторую память, приложение затем сработает с нулевым указателем (потому что объект приложения является новым) при открытии снова. Почему не новый объект WhatIsYourNameActivity создан? Почему OnCreate() метод не вызывается() для WhatIsYourNameActivity? (Эта деятельность также была убита Android. Не так ли? Или убийство приложение имеет какой-то другой смысл?) Что на самом деле происходит, когда приложение убито и снова запустилось?

+0

1.), когда процесс умирает, это, безусловно, приложение мертв. 2.) (какие данные?) – Enzokie

ответ

4
  1. Когда процесс мертв. Потому что у вас могут быть запущенные сервисы или другой Thread, которые будут работать, даже если все действия будут мертвы.

  2. Поскольку Android может убить ваше приложение в любое время (например, если пользователь откроет другое приложение, и это приложение выделит всю память), а затем снова перезапустите его (когда пользователь снова откроет приложение). В этом случае вы потеряете все данные в объекте приложения.

Вы можете получить более подробную информацию здесь - https://developer.android.com/guide/topics/processes/process-lifecycle.html

+0

, когда вы говорите: «Android может убить ваше приложение в любое время». Означает ли это, что я убиваю процесс своего приложения? – rayan

+0

Да, я имею в виду процесс – Grimmy