當用戶在我的應用程序中按下後退按鈕時。下面是這種情況:進入ANR模式的應用程序
- 用戶啓動應用程序 - 活動 顯示出來
- 用戶按下後退按鈕
- 用戶重新啓動應用程序。 此時,應用程序僅顯示一個空白屏幕,但在某些時間後,沒有任何按鈕(家庭/後臺)響應,此時會出現強制關閉對話框。
注意:如果用戶按下「Home」,然後重新啓動應用程序,則不會發生此情況,只有在用戶按下「Back」後才能重新啓動。
在我的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();
}
不知道是怎麼回事,也不知道如何調試。
有趣 - "Zeroconf Browser"流行的應用程序,我從Android Market下載使用調試雷 - 似乎有同樣的問題。
編輯:將onStart()/ onStop()代碼更改爲onCreate()/ onDestroy()。和以前一樣的問題。
編輯:對於任何人在類似的問題中運行,這是什麼導致我的痛苦。 Android代碼不是罪魁禍首: http://sourceforge.net/tracker/index.php?func=detail&aid=2933183&group_id=93852&atid=605791
當你按下後退按鈕時,活動被破壞,所以第二次,它在'onCreate()'中被卡住了。那裏會發生什麼? – bigstones 2011-03-30 19:39:52
@Travis你可以標記,但這是BACK按鈕的默認行爲:http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html#navigating_away_from_an_activity – bigstones 2011-03-30 20:01:34
@bigstones:+1。你是絕對正確的。活動**被毀壞。那是導致應用程序掛起的原因...在我的onDestroy()方法中存在一個錯誤。萬分感謝! – OceanBlue 2011-03-30 20:36:11