作者kai1006 (kai)
看板AndroidDev
标题[问题] 内存回收
时间Sat Jul 12 16:17:50 2014
各位大大好,最近碰到一个似乎是跟内存有关的问题...
在app中,Activity a 会启动 Activity b,
然後b依序建立了4个fragment,c d e f,
最後让画面停留在fragment c 。
然後这时我将app缩小,并打开手机中其他10多个app,
接着再打开自己写的app,
这时fragment c的画面除了tab的icon还在之外,
显示资料的地方几乎全白。
我猜是因为在内存中的资料被回收掉,fragment c
没有资料可以显示,所以画面全白。
但奇怪的地方是,我有打印log,
发现当重新打开app时,会先call一次fragment c的oncreate函数,
接着再call Activity b 的 oncreate 函数,然後又再 call 一次
fragment c的oncreate函数。
我有试着将 Acitivty b 设为 singleTask,让b在该Task中只能有一个
实体,看能不能当重新打开app时,不要再建立新的b,但结果还是一样。
所以目前不太晓得问题出在哪......
P.S.平常缩小app再立刻重新打开app不会碰到以上的情况。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.218.50
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1405153073.A.1CC.html
1F:推 tac0wu:view pager? 07/12 17:11
2F:推 tac0wu:developer options kill activity when BG 07/12 17:12
3F:推 tac0wu:can easily reproduce this issue 07/12 17:14
4F:推 elfsu:用saveInstance把activity b中oncreate中初始化的值存起来 07/13 08:48
5F:→ elfsu:oncreate时,savedinstance有值的话,取出来回复activity B 07/13 08:49
6F:→ kai1006:谢谢大家的意见!後来用别的方式解决了! 07/13 18:18