2013-09-30 2 views
2

У меня есть действие, которое создает статический объект, а затем создает новое действие. Второе действие осуществляет доступ к статическому объекту в его методе onCreate(). Когда вы запускаете нормально, все нормально и dandy, но если пользователь покидает приложение, когда он находится во втором действии, а затем продолжает работу с другими задачами, требующими памяти, которые убивают приложение (как показано в левой части жизненного цикла приложения) , то при повторном открытии приложения он повторно создается во втором действии, но исходный статический объект не сохраняется. Это вызывает исключение нулевой точки в методе onCreate(). Очевидно, что я могу поместить статический объект в пакет сохранения и вернуть его с помощью сохраненногоInstanceState, но я хотел бы знать, как легко реплицировать создание приложения, а не на начальную активность, потому что может потребоваться некоторое время, чтобы ОС решила его убить из-за проблем с потреблением памяти.Как проверить жизненный цикл приложения для Android?

http://developer.android.com/reference/android/app/Activity.html

ответ

2

Один относительно простой способ проверить это будет просто отправить прибор намерению, чтобы начать свою вторую активность.

Вы можете сделать это с помощью диспетчера активности АБР (AM) команду следующим образом:

adb shell am start -n your.package.name/.YourActivity

Это запустит свою вторую активность и приложение будет находиться в том же состоянии, как если бы Android был мелиорированных памяти ваше приложение использовало.

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

<activity 
    ... 
    android:exported="true" > 
</activity> 
+0

Я получаю разрешение отклонено, когда я пытаюсь это сделать. Я могу начать свою первую деятельность таким образом, но не вторую. Это дает ошибки и отказ в доступе. –

+0

Ах, да, ваша деятельность должна быть настроена как экспортированная для этого. Я обновил свой ответ. –

+0

Спасибо! Это работает! –

Смежные вопросы