作者ptthao (優文保證)
看板AndroidDev
標題[問題] 重複開啟相同的頁面
時間Tue Oct 18 19:06:47 2016
標題不知道該怎麼下QQ
想問的是
像Play商店
隨便點一個App
他下面都會有推薦你的其他App
再點下去
這樣一直無限開啟同樣的頁面
為什麼都不會有OOM的問題呀?
像是IG FB LINE的個人首頁也都一樣可以一直開下去
FB比較特別的是好像只會保留八個人的個人首頁
也就是開啟第九個人的時候會把第一個人的從堆疊裡刪除
我目前想法是同一個Activity只是更換Fragment
google了一下好像蠻多人是在Fragment onDestroyView的時候將layout=null
可是如果頁面是可以捲動的
那按返回時就會沒辦法回到上次捲動到的位置了
所以想請問一下
有人知道像這樣重複開啟畫面應該要用什麼做法嗎?
或者應該要怎麼管理Fragment堆疊裡的記憶體呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.206.184
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1476788812.A.E17.html
1F:推 cakeboy: recycle view 不曉得可不可以10/18 20:30
2F:→ ssccg: 這是預設的Task Stack的行為吧,Activity本來就可以一直疊10/18 20:43
3F:→ ssccg: 上去,不會OOM單純只是你開不夠多個10/18 20:45
4F:→ ssccg: 用fragment解決這問題可以,當然你有要保留的狀態就要在結10/18 20:50
5F:→ ssccg: 束時存起來啊...捲軸位置你想留著就存起來啊...10/18 20:51
我play商店瘋狂點了100個畫面他也不會爆炸耶 我該繼續挑戰他的極限嗎XD
※ 編輯: ptthao (123.240.206.184), 10/19/2016 00:22:59
6F:→ LZN: 只要image處理的好, 一般狀況下不容易oom吧10/19 12:56
7F:推 hijamoya: 那你需要back一百次嗎10/19 18:41
是的,而且我今天太無聊還挑戰兩百次成功XD
※ 編輯: ptthao (123.240.206.184), 10/20/2016 00:02:22
8F:→ htury: store不是不會oom,他只是不會crash,並記錄你最後操作,並 10/20 01:39
9F:→ htury: 寫進暫存檔,task機制邏輯寫好就能像store一樣 10/20 01:39
10F:→ siriusu: 需要back一百次應該就是資源有分配好而不是,靠改stack解 10/20 09:13