如果Android應用程序由於某種原因崩潰,我可以在哪裏做一些家務活動?有些東西喜歡關閉句柄,連接等?管理應用程序崩潰
管理應用程序崩潰
回答
您可以使用Thread.setDefaultUncaughtExceptionHandler()註冊崩潰事件。雖然如果你的整個應用程序崩潰,你不必擔心關閉連接,因爲它們將與應用程序一起被殺死。
OS內核將關閉所有打開的文件句柄,套接字,分配的內存等等。它不能將緩衝IO內部沖洗到程序中,它只會拆除TCP套接字,而不會向遠程對等端說BYE
,但當操作系統收回您的進程時,可以(或需要)做的事情不多。
但是,如果應用程序崩潰而在持久性存儲上留下不一致的數據,則可能需要在下次啓動時進行一些清理。
其實我有我自己的對象被緩存發送到一致的狀態。所以OS可能對我沒有幫助。 – Codevalley 2011-03-24 06:32:29
日誌記錄文件系統將元數據更改寫入磁盤兩次:首先到日誌,然後再到文件系統,然後他們在日誌中設置一個標誌來指示這些更改已成功存儲。當不衛生時,它會掃描日誌並重新應用所有未標記爲成功的更改。如果對象一致或不一致,可以更新對象上的「乾淨」或「髒」標誌,因此在下次啓動時可以刪除不一致的對象。 – sarnold 2011-03-24 06:36:16
- 1. Android位置管理器在調用時崩潰應用程序
- 2. 訪問崩潰應用程序崩潰應用程序內ios
- 3. 應用程序崩潰 - 有線崩潰
- 4. NSFileManager崩潰在應用程序代理
- 5. Android - 處理應用程序崩潰
- 6. 應用程序崩潰沒有理由
- 7. 儘管有錯誤處理,Windows 8.1 XAML應用程序崩潰
- 8. Android包管理器列表導致應用程序崩潰
- 9. 應用程序崩潰,而提供程序在Locaton管理器中禁用
- 10. RegEnumValue崩潰應用程序
- 11. 應用程序崩潰
- 12. FirebaseDatabase.getInstance()崩潰應用程序
- 13. FolderBrowserDialog崩潰應用程序
- 14. UWP應用程序崩潰
- 15. android應用程序崩潰
- 16. AlertDialog崩潰應用程序
- 17. 應用程序崩潰了
- 18. iphone應用程序崩潰
- 19. 應用程序崩潰drawViewHierarchyInRect
- 20. 應用程序崩潰java.lang.NullPointerException
- 21. JNI - 應用程序崩潰
- 22. MediaElement.SetSource崩潰應用程序
- 23. WPF應用程序崩潰
- 24. 應用程序崩潰
- 25. instantiateViewControllerWithIdentifier崩潰應用程序
- 26. AutoHotKey應用程序崩潰
- 27. Android應用程序崩潰
- 28. 應用程序崩潰
- 29. Android應用程序崩潰
- 30. Multiview應用程序崩潰
this和setUncaughtExceptionHandler()有什麼區別? – Codevalley 2011-03-24 07:06:14
我認爲線程使用的異常處理程序是由'setUncaughtExceptionHandler()'設置的異常處理程序,如果不存在,那麼它將使用'Thread.setDefaultUncaughtExceptionHandler()'(如果存在)。 – 2011-03-24 16:19:54