我有一個使用AlarmManager定期執行任務的應用程序。從AlarmManager調用的Intent中,我訪問應用程序以訪問共享數據。由AlarmManager啓動的Intent會在運行之間保留其對象嗎?
Application foo = getApplication();
然後我使用foo對象來讀取和寫入數據。此應用程序的大部分生命週期都處於休眠狀態,偶爾會起牀。
當警報響起時,已被註冊,因爲這是 由系統廣播,自動啓動目標程序 如果它尚未運行的意圖。
但是,instatiated foo對象會發生什麼? (其中所有其他對象都是由Intent創建的)這與以前的迭代是一樣的還是將會是一個新的?
很好的答案。換句話說,我應該避免將易失性數據保存在foo對象的屬性中。 – 2015-02-17 21:38:31
如果您的進程被終止,Dalvik虛擬機將不會運行。內存被內核清除。 Android會拆卸活動併發出內存警告,您可以響應並釋放一些對象,但如果您的過程僅由低內存殺手清除,則不會得到任何內容。 – dcow 2015-02-17 21:39:09