我想學習和Android的測試例外,似乎無法 獲取信息過去的try/catch,Thread.currentThread()。setUncaughtExceptionHandler(新MyExceptionHandler())和ACRA。Android上的異常處理和生命週期?
基本上我想知道拋出Exception時會發生什麼,它是否只會殺死當前活動?如果我的應用程序有多個活動並且它在活動堆棧中的第四個活動中被殺死了,它會幹掉它嗎?
我問,主要是因爲我拋出一個錯誤,它不是殺死完整的程序,但在程序的某個中間活動重新啓動它。 (我這樣做的目的是爲了更多地瞭解它)我寧願程序死亡,也不願意在某種不良狀態下重新啓動,但 Android沒有殺死開關(至少我知道)。
感謝
編輯:Android是否重新創建堆棧,我們知道它會走多遠?或者如果它使用創建?或恢復?如果堆棧中以前的活動需要用戶輸入會怎麼樣?
由於在傳統的桌面意義上沒有應用程序,這種行爲(如果它是正確的)將是非常合乎邏輯的。如果有一組幾乎獨立的活動,那麼當一個活動爆炸時,整套設備不需要可怕地死亡。這將類似於單個桌面應用程序降低整個系統。 – erichamion 2011-03-24 15:11:13
我的問題是,在重建堆棧的過程中,它丟失了一些東西,並且它錯誤地重新創建了它。 (它不重新加載數據庫) – Totic 2011-03-24 18:00:17
我相信,在重新創建活動時,會調用onCreate方法。是否有可能您的活動創建依賴於某些先前可用的數據,但在崩潰後不存在。我的意思是,早些時候我曾經將一個數據結構作爲靜態變量存儲在單例類中,並用它來創建我的活動。在崩潰之後,我看到有時數據結構不適用於我的活動,並且它被正確渲染 – pankajagarwal 2011-03-25 04:39:32