大家好!
我有一个Activity
在显示可见布局时分配了相当多的内存。Activity
UI 在很大程度上依赖于这个内存,但是,在用户离开后(通常通过将另一个焦点放在焦点上) ,没有必要保留这些分配Activity
。
Activity
开始分配内存,onResume()
一切都很好。不过,让我有点困惑的是解除分配。截至目前,我释放了所有内存,onPause()
其中也破坏了相应的 UI 元素。由于Activity
在运行时仍然可见,onPause()
用户将看到实际的 UI 元素被破坏。这很丑陋,不是我想要的。
所以我的问题:
- 释放内存(破坏 UI)是否安全
onStop()
(根据文档,调用Activity
时不可见onStop()
)? onStop()
可靠吗?onStop()
每次被调用时都保证被调用吗onPause()
?
编辑:
我觉得我必须更清楚地解释什么让我感到困惑。根据developer.android.com:
...对于那些被标记为可终止的方法,在该方法返回后,托管活动的进程可能会在任何时候被系统终止,而无需执行另一行代码...
该onStop()
方法被标记为“可杀死”。
以上是否意味着(尤其是“
after that method returns
”部分)整个范围都onStop()
可以保证运行,但是一旦它返回,就不能保证任何运行时(例如,在 中启动的衍生线程onStop()
)?或者这是否意味着它
onStop()
甚至可能在它到达其范围的末尾(作为killed at any time
部分)之前被中断?或者它是否意味着我 - 在我神圣的愚蠢中 - 看不到的其他东西。