[問題] 為什麼要用Preference儲存資料?

看板AndroidDev作者 (忍者好難養)時間11年前 (2013/01/06 15:14), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
我最近發現static的變數不會改變的話 例如 static int value;(全域變數) value=10; 就算程式關掉之後重新開啟,value還是不會變 這樣子不就可以當作儲存變數的工具了? 書上(BMI程式)教我們用SharedPreferences,也是儲存變數而已 如果我只有儲存幾個簡單變數的需求 不如全部用static比較方便不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.50.200 ※ 編輯: asadman1523 來自: 140.129.50.200 (01/06 15:16) ※ 編輯: asadman1523 來自: 140.129.50.200 (01/06 15:21)

01/06 16:02, , 1F
如果當process被系統砍掉了 而這個數值 又是需要被保留的
01/06 16:02, 1F

01/06 16:03, , 2F
這個時候 就需要用preference or db 儲存起來
01/06 16:03, 2F

01/06 16:11, , 3F
開關機就沒啦 或是程式被回收就沒啦
01/06 16:11, 3F
我有試過按返回建關掉程式但是沒試過關機,看來是不能這樣做了,謝謝 ※ 編輯: asadman1523 來自: 140.129.50.200 (01/06 16:13)

01/06 16:30, , 4F
關機就沒了..
01/06 16:30, 4F

01/06 16:31, , 5F
況且一直keep在記憶體中 應該會有問題吧?
01/06 16:31, 5F

01/06 16:32, , 6F
另外提一個有趣的事情 4.2 multi-user後
01/06 16:32, 6F

01/06 16:32, , 7F
static variable 變成很有趣的東西 只能說慎用!
01/06 16:32, 7F

01/07 11:51, , 8F
樓上可以說詳細點嗎?我絕對不會承認我想要懶人包
01/07 11:51, 8F
multi-user應該也是無法動到static variable... 說不定可以拿到另一個user還沒被回收的資料? 亂猜的哈哈XD ※ 編輯: asadman1523 來自: 118.166.45.52 (01/07 12:11)

01/07 23:42, , 9F
自己注意一下activity的lifecycle就知道為什麼會這樣了
01/07 23:42, 9F

01/07 23:42, , 10F
另外你也可以看看Application這個class
01/07 23:42, 10F
文章代碼(AID): #1GwIH9IQ (AndroidDev)