我正在編寫一個應用程序並在內部存儲器中使用一些臨時文件,例如(/myapp/files/tmp/*
)什麼時候應該清理應用程序的臨時文件?
這些文件是臨時文件,在應用程序退出時被視爲過期。 清理這些文件有哪些好的做法?
Application類中沒有onDestroy()
。活動之間的交換意味着知道何時活動的onDestroy
正在退出活動或應用程序並不是微不足道的。而且,例如,當應用程序崩潰時,這些都不會被調用。他們不保證被調用。
因此,我在應用程序類的實例(在onCreate
啓動的AsyncTask
中)清除onCreate
中的那些文件。
但對我來說似乎有點古怪。啓動該應用程序將啓動一個線程,以刪除以前使用中不必要的文件。有一個更好的方法嗎?
file.deleteOnExit()
也鼓勵在Android
您可以覆蓋Application類的onTerminate()。 –
@BirajZalavadia onTerminate()看起來像是一個非常非常糟糕的主意: 「這種方法適用於模擬的流程環境,它永遠不會在生產型Android設備上調用,只需簡單地刪除它們即可刪除進程;不需要用戶代碼(包括這個回調函數)在執行時會被執行。「 – George
所以當你想刪除你的臨時文件?當應用程序去背景? –