我在應用程序中創建臨時文件。當應用程序被銷燬時,我需要刪除該文件。目前我在onDestroy()
方法中調用這個deleteTempFile()
方法。但正如我在開發人員指南中發現的那樣,它不保證在應用程序被殺時被調用。什麼應該是實現這一目標的正確方法?onDestroy()不會一直調用
請注意,當我們按下home按鈕時,不會調用onDestroy
,然後再次長時間按下以獲取任務管理器並輕掃應用程序即可殺死它。
我在應用程序中創建臨時文件。當應用程序被銷燬時,我需要刪除該文件。目前我在onDestroy()
方法中調用這個deleteTempFile()
方法。但正如我在開發人員指南中發現的那樣,它不保證在應用程序被殺時被調用。什麼應該是實現這一目標的正確方法?onDestroy()不會一直調用
請注意,當我們按下home按鈕時,不會調用onDestroy
,然後再次長時間按下以獲取任務管理器並輕掃應用程序即可殺死它。
嘗試在onSaveBundleInstances做(捆綁outBundle)
@Override
public void onPause() {
super.onPause()
if (isFinishing())
deleteTempFile();
}
感謝您的回答。但在我的情況下,我先按Home鍵。所以我用isFinishing()= false進行onPause。然後,當我滑動殺死應用程序,我不會再次停下來。 – Shashika
的onDestroy()將無法工作所有的時間所以另一種方法是,你應該使用onBackPressed()方法deleteTempFile()。
我沒有使用後退鍵殺死應用程序。我按主頁按鈕,然後長按再次獲取任務管理器和刷卡應用程序來殺死它。這是場景。 – Shashika
很難確定應用程序銷燬狀態。當應用程序進入後臺/前臺時,是否適合您刪除/恢復文件? –
問題是當我使用視頻播放器播放該臨時文件時,應用程序會轉到後臺。我不應該刪除它。 – Shashika