作者x049 (joker)
看板AndroidDev
標題[問題] app被強制關閉
時間Thu Dec 8 07:22:23 2016
目前發現假如我把app放在背景,自己跑去滑Line或是其他遊戲
我的app在背景下過一段時間就會被強制關閉,當我再次打開時,他就會再重新刷Layout
想問各位是否有辦法讓app在背景下不會被強制關閉呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.238.234.222
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1481152947.A.5B9.html
※ 編輯: x049 (36.238.234.222), 12/08/2016 07:23:02
1F:→ ssccg: 沒有辦法,android app本來就該能處理被關掉的情況 12/08 09:48
2F:→ ssccg: 如果有工作要在背景做,可以用Service 12/08 09:54
3F:→ ssccg: 如果你只是不想重建view,這沒有意義...在背景的時候view本 12/08 09:56
4F:→ ssccg: 來就沒有存在的必要... 12/08 09:56
5F:→ ssccg: 如果你不是指寫app,是單純使用者,不想要某個app被關閉, 12/08 10:19
6F:→ ssccg: 有些RAM管理app有這個功能(需要root) 12/08 10:22
7F:→ x049: 因為很多參數可能在處理過程中已經改變,如果重啟就等於重來 12/08 10:49
8F:→ x049: 這應該是我本身架構就寫太爛,有什麼地方可以儲存參數在app 12/08 11:06
9F:→ x049: 被釋放時還能保留下來呢? 12/08 11:07
10F:→ ssccg: onSaveInstanceState 12/08 11:08
11F:→ ssccg: 存下來的Bundle會在onCreate和onRestoreInstanceState(在 12/08 11:16
12F:→ ssccg: onStart後)傳入,在onCreate中需檢查是否為null(初次啟動) 12/08 11:18
13F:→ x049: 那假如這是個聊天室app,在我app被強制關閉期間service接收 12/08 11:33
14F:推 bohei: 推推,ssccg解釋得好清楚~~ 12/08 11:33
15F:→ x049: 到的資料是不是就不能存了? 12/08 11:33
16F:→ ssccg: service接到的資料service可以自己存在資料庫或檔案,跟 12/08 11:49
17F:→ ssccg: activity沒關係吧,只是如果service是用bind方式啟動的 12/08 11:51
18F:→ ssccg: 在process被結束時就停止了,要用start + START_STICKY 12/08 11:53
19F:→ ssccg: 才會自動重啟 12/08 11:54
20F:→ x049: 所以我的資料如果存在Service的全域裡,他也不會消失摟? 12/08 12:26
21F:→ ssccg: 會,process被結束時所有memory中的資料都會消失 12/08 13:32