2013-11-01 63 views
0

我在Application.onCreate或MainActivity.onCreate上做了一些初始化工作(例如打開數據庫或初始光盤緩存以用於映像),但是我們沒有機會執行uninitlization工作(例如關閉數據庫或flush/close/uninit光盤緩存圖像)當應用程序即將被系統殺死。當內存不足時,Android應用程序是否有機會知道系統何時將被系統殺死?

我們都知道Application.onDestroy只是援引在模擬器......

任何人都可以幫我一個fovour?

謝謝!

回答

0

我認爲你應該使用onLowMemory方法。正如developer docs定義:

這時候整個系統內存上運行低叫,並 積極跑動過程中應減少她們的內存使用情況。雖然沒有定義這個被調用的確切點,但是當所有的後臺進程都被終止時,通常它會發生 。也就是,在達到託管服務的處理點之前爲 ,而我們希望避免查殺的前景UI爲 。

您應該實施此方法以釋放您可能需要的任何緩存或其他不必要的資源。系統將從此方法返回後爲您執行垃圾回收。

+0

這似乎是一種解決方法...... – Archy

+0

它是API的一部分..爲什麼它看起來是一種解決方法? –

+0

當內存不足時,當我的應用程序被系統殺死時,onLowMemory將永遠不會被調用。 – Archy

相關問題