【发布时间】:2012-01-18 22:28:18
【问题描述】:
行为是否类似于活动的工作方式?例如,对于活动,它的工作方式如下:
Activity A启动Activity B,当B在屏幕上时,系统可以移除A如果系统需要,则从内存中获取。按 BACK 后,A 将被重新创建到内存中,就好像它从未离开过一样。
我一直在寻找一个清晰的解释,说明片段在记忆方面会发生什么,但没有找到任何东西。它的工作方式相同吗?例如:
Activity C 在其布局中有Fragment F。然后,在某些时候 F 被 Fragment G 替换,但 F 保留在其后堆栈中。
F 会一直保留在内存中直到 C 被杀死,还是系统可以根据需要将其删除?
我真正要问的是,如果我在单个 Activity 中有一堆复杂的 Fragment,我是否会冒内存不足的风险?
【问题讨论】:
-
请注意,您的第一个假设是不正确的:活动“A”永远不会从内存中删除。见commonsware.com/blog/2011/10/03/…
-
@Thierry-DimitriRoy,难以置信...我觉得我一直生活在一个谎言中...我几乎不相信...
-
系统不会杀死单个活动或片段。它只能在内存不足时杀死整个进程以回收内存。
标签: android memory view android-activity android-fragments