作者fasthall (Xen)
看板AndroidDev
標題[問題] service中的static object
時間Tue Dec 18 22:44:41 2012
最近在做一個類似IM的東西
service裡面有個叫userinfo的static object
只有紀錄account session等等東西
需要維持他一直在記憶體裡面
我已經讓service以foreground的方式啟動了
但是我發現手機放一陣子後userinfo還是會不見
(所謂的不見就是要去抓東西都抓到空字串 估計singleton被recreate了)
但是我看service的foreground notification圖示還在
應該是沒有被刪掉才對
何況static object應該不會被gc
請問是有什麼可能導致這種情形呢?
先謝過各位前輩
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.156.204
1F:推 KeySabre:logcat看是否重新onCreate。可考慮sharedpreferences, 12/18 23:10
2F:→ KeySabre:我想userinfo應該不常變動? 12/18 23:10
3F:→ fasthall:可能每幾分鐘才會變一次 我也正在考慮sharedpreferences 12/18 23:16
4F:→ fasthall:不過還是想了解為什麼這樣做了userinfo還是會被清掉 12/18 23:16
5F:推 KeySabre:不清楚『放一陣子』是多久?經過待機或鎖屏?曾被系統或 12/19 12:54
6F:→ KeySabre:手動殺進程?是否曾經crash或low memory?都該去追logcat 12/19 12:54
7F:→ KeySabre:。 12/19 12:54
8F:推 sdyy:notifidation 就算service被清掉也還會在 12/19 22:02
9F:→ sdyy:以現在Android的機制 是無法保證service不會被殺掉 12/19 22:03
10F:→ sdyy:頂多保證會重啟 所以暫存的東西務必都要存好以便重新讀取 12/19 22:04
11F:→ tomap41017:推樓上。有可能是整個App被Kill重啓,所以Service也重 01/05 15:50
12F:→ tomap41017:啟動了... 01/05 15:50