Вопрос

Когда пользователи нажимают кнопку «Назад» в моем приложении.Вот сценарий:

  1. Пользователь начинает приложение - Activity отображается
  2. Пользователь нажимает кнопку «Назад»
  3. Пользователь перезапускает приложение. На этом этапе приложение только показывает пустой экран, ни одна из кнопок (дома/назад) ответа, после некоторого времени диалоговое окно «Силовое покрытие».
    ПРИМЕЧАНИЕ:Если пользователь нажимает «Домой», а затем перезапускает приложение, этого не происходит, только если пользователь нажимает «Назад», а затем перезапускает его.

В моем onCreate() у меня есть код настройки сети.Однако у onDestroy() есть соответствующий код очистки, поэтому я не понимаю, почему это происходит.

@Override
public void onCreate(Bundle savedInstanceState) {
    Log.d(DEBUG_TAG, "onCreate()");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

     // Aquire the multicast lock
     // Create an instance of JmDNS
     // Add a listener for Bonjour services of a given type 
}

@Override
protected void onDestroy() {
    Log.d(DEBUG_TAG, "onDestroy()");
     // Remove the services listener 
     // Set the reference to JmDNS instance null
     // Release the multicast lock
    super.onDestroy();
}

Не уверен, что происходит, и не знаю, как это отладить.

Интересно - «Браузер Зероконф» популярное приложение, которое я скачал с Android Market, чтобы использовать для отладки своего, похоже, имеет ту же проблему.

РЕДАКТИРОВАТЬ:Изменен код с onStart()/onStop() на onCreate()/onDestroy().Та же проблема, что и раньше.

РЕДАКТИРОВАТЬ:Для всех, кто столкнулся с подобной проблемой, это то, что стало причиной моих страданий.Код Android не был виновником:http://sourceforge.net/tracker/index.php?func=detail&aid=2933183&group_id=93852&atid=605791

Это было полезно?

Решение

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

Обратите внимание, что может быть хорошей идеей выполнить настройку и демонтаж в onCreate и onDestroy. onStart можно вызывать несколько раз во время действия жизненный цикл;ваш код защищает от этого случая?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top