我正在使用服務和片段兼容包構建應用程序,並且遇到了一些奇怪的行爲。我有一個FragmentActivity和一個實現LoaderCallbacks的ListFragment,當FragmentActivity啓動時,它啓動一個服務來下載數據並填充數據庫。應用程序部分關閉
假設我在該屏幕上,並且通過單擊ListFragment的其中一行來導航它。如果我然後點擊一個空指針或任何其他導致常規強制關閉對話框彈出的異常,我會彈出對話框上的強制關閉按鈕,並且我正在執行的活動確實會關閉,但我最終返回FragmentActivity屏幕,而不是說我的Android/Launcher主屏幕。
對我來說,這說的是應用程序崩潰,但不知何故碎片活動正在重新啓動。如果我在eclipse中的調試視圖中點擊紅色停止按鈕,就會發生這種行爲 - 當前活動被殺死,但該死的片段活動仍然存在。
很明顯,我不希望我的應用程序得到一個強制關閉對話框,但真的我想弄明白,如果這是我沒有正確編碼的症狀。目前我從來沒有停止這項服務,主要是因爲它在整個應用程序中一遍又一遍地被重複使用,而且我還沒有開始編寫一種安全關閉服務的方式,而不會過早地結束對它的新請求。
服務是否通過ListFragment和LoaderCallback或其他方式保持對Activity的引用?爲什麼這個FragmentActivity看起來不可戰勝?
啊我想我明白了,謝謝! –
如果這完全回答您的問題,請標記爲已接受 – Craigy