2014-02-16 3 views
1

Мне кажется, мне нужна помощь, чтобы понять, как Bundles обрабатываются на Destroy. У меня есть проблема с моим приложением, где bundle становится null, когда его закрыты в течение ночи или в течение нескольких часов и т. Д. Но я не могу реплицировать это для целей отладки. Независимо от того, что я делаю, расслоение остается неповрежденным после того, как предполагалось, вынужден истребляют и т.д.Force Destroy приложения для тестирования

Чтобы повторить этот вопрос я попытался две разные вещи:

  1. Использование опции в разделе Параметры разработчика IIRC - Settings>Developer Options > Don't Keep activities.

  2. Использование кнопки «STOP» под управлением Eclipse DDMS.

Ни один из них, кажется, не удаляет Bundle. Я что-то упускаю, как укладывается пакет после предполагаемого полного уничтожения?

Я использую Nexus 5, Android 4.4.2

У меня есть чек в моих «предпочтениях» class, которые в первую очередь проверяет, есть ли Bundle переменных доступны из логического предыдущего/родителя Activity, если не его читается с Android SharedPreferences. Проблема в том, что у меня должна быть проблема, когда я проверяю пакет не null. Поэтому мне нужно отлаживать это, так как он позволяет устанавливать нулевые значения из набора в мои идентификаторы «сеанса»

Я что-то упустил? Разумеется, пакет должен быть уничтожен вместе с моим приложением, но при использовании опции 1) выше, Bundle все еще существует, поэтому я не могу отлаживать свою инструкцию IF. Вариант 2) не полезен, потому что кнопка останова просто закрывает активную активность - мое приложение переходит назад по иерархии экранов, когда я нажимаю кнопку «Стоп». Опять же, не уничтожая все приложение из памяти. Я должен упустить что-то фундаментальное!

Приветствия за любую помощь.

BTW, я ищу все решения на СО, я мог бы, все, похоже, использует optoins выше без проблем, что-то может отличаться от моего Android OS/Phone?

Редактировать: Эта статья от Google показывает функциональность, в которой я нуждаюсь, но я предполагаю, что это устаревшая статья и ее ссылка на то, что я пытаюсь в варианте 1)? - См «Немедленно уничтожить деятельность» - developer.android.com/tools/debugging/debugging-devtools.html

Edit2: см комментарии ниже, я ошибочно думал, что выше Google документ имел в виду удаление всего приложения из памяти а не просто Activity.Во всяком случае сейчас я попробую что-нибудь подобное, чтобы проверить значение Bundle

Long val = bundle.getLong(Navigator.INTENT_KEY_CHANNEL_ID, 0); 
if (val != 0 && val != null) { 
} 
+0

Я пытался понять ваш вопрос и не смог. Это имеет неточности и неправильную терминологию. Я предполагаю, что рассматриваемый 'Bundle' - это тот, который передается конструктору' Activity'. Почему бы не установить его значение null в коде перед вашим багги-методом? Я не понимаю, что вы подразумеваете под «Destroy». Вы имеете в виду, что процесс приложения убит? В любом случае, я не вижу причин, по которым «Bundle» будет удален, и с ограниченным контекстом, который вы предоставили, сделайте вывод, что проблема полностью в вашем коде, который вы не указали, и поэтому вопрос невозможен. – Simon

+0

Я отредактировал мое сообщение для лучшей ясности, я думал, что я был прав на уничтожение. Я имею в виду, мне нужен способ проверить, что мое приложение полностью удалено из памяти. Кажется, что ничего не тестирует. Эта статья от Google показывает функциональность, в которой я нуждаюсь, но я предполагаю, что это устаревшая статья и ее ссылка на то, что я пытаюсь в варианте 1)? - См. «Немедленно уничтожить действия» - developer.android.com/tools/debugging/debugging-devtools.html – wired00

+0

«Я отредактировал свое сообщение для большей ясности» - Саймон прочитал ваш пересмотренный вопрос, как вы можете сказать по метке времени его комментарий. «Я думал, что я был ясен об уничтожении» - вы не знаете, «уничтожить» или «расслоение». На что «Пакет» вы имеете в виду? Кто-то перешел в 'onCreate()'? Как вы начинаете свое приложение после остановки процесса с DDMS? – CommonsWare

ответ

1

1- Запустить приложение

2 Нажмите кнопку Home

3 Запуск DDMS в Android Studio или Eclipse,

4 Выберите приложение и нажмите остановить

5- Выберите приложение запустил историю приложение

Спасибо,

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