是否可以在低內存時攔截系統關閉我的應用程序的事件?我知道有一種方法「onLowMemory」,但這並不意味着我的應用程序在被調用後會被關閉。當系統在低內存上關閉應用程序時保存狀態
我的問題是,我正在共同開發一個使用大量靜態數據的應用程序(我知道應該避免,但這不是我的決定,此時幾乎不可能改變這一事實)。如果我按回家,不回到這個應用程序的例如。 10小時它可能會強制關閉,因爲靜態數據不存在了(應用程序被系統殺死)。
是否有可能知道應用何時將被系統殺死?我會將靜態數據存儲在某個地方,以便在重新創建應用程序時獲取。有什麼解決方法?也許,如果連接到這樣的事件是不可能的,我可以做一個服務,每隔幾分鐘就會保存這個狀態,所以當應用程序被殺時,我可能會有最新的靜態數據?
您是否遇到此問題?你有什麼解決方案/建議?
如果10小時後數據不再存在,可能是因爲您的應用程序被殺害了。在這種情況下,您將不得不加載數據。如果強制關閉,它會不會總是強制關閉,因爲當應用程序第一次啓動時,數據不在那裏。 onLowMemory()是最好的嘗試。還有'onTrimMemory()',它給你留下的內存級別。我很抱歉,這是一個非常模糊的問題,我認爲可能會誤解操作系統 –
@GregGiacovelli中的進程,內存和狀態是如何工作/與您的應用程序相關的,我知道這是因爲我的應用程序被殺害了。強制關閉與應用程序無法加載此靜態數據有關(所有引用都爲空等)。我希望只是爲了找到保存數據的最佳時機(就在內存不足之前 - 被操作系統殺死)。 – kajman