2016-02-11 70 views
0

我知道UncaughtExceptionHandler在MainThread上運行來處理所有未處理的異常。我試圖將throwable和線程信息寫入文件,但我只能在主線程上執行此操作。我擔心這樣做可能會在android上拋出ANR,因爲IO操作相對耗時且昂貴的操作。Android - UncaughtExceptionHandler:完成執行的最長時間

主線程在執行未捕獲的異常處理程序時可以等待的最大時間限制是多少?

回答

0

標準的ANR超時是5 seconds。如果超過該值,用戶將獲得ANR對話框。你應該能夠在那個時候寫一個小文件,但這不能保證。

如果您認爲您的寫入可能需要更長時間,請考慮將異常序列化到Bundle中並將其發送到在單獨進程中運行的IntentService,以便它可以在不阻止主進程的主線程的情況下執行其工作。 (這工作正常,我已經完成了。)

+0

感謝您的回答。我有一天得出了同樣的結論。謝謝 :) – Blanc