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