大家好!
我有一个Activity在显示可见布局时分配了相当多的内存。ActivityUI 在很大程度上依赖于这个内存,但是,在用户离开后(通常通过将另一个焦点放在焦点上) ,没有必要保留这些分配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部分)之前被中断?或者它是否意味着我 - 在我神圣的愚蠢中 - 看不到的其他东西。