什么时候该视图的“死亡”,并在Android中不存在?何时在android中查看'杀死'?
例如,假设我有一个asynctask,并且我在doInBackground()
方法中运行了一些网络相关的东西。然后,我需要在onPostExecute()
方法中更新我的UI视图。 假设我的doInBackground()
需要一段时间,当它正在处理中时,用户移回或甚至按下主页按钮。该任务将继续,因为doInBackground在单独的线程上运行,但是,一旦完成并调用onPostExecute更新视图,视图可能不在那里。
- 即使活动不可见(无论是主屏幕还是其他活动),当视图尝试访问和修改时会发生什么?他们在'堆/内存/任何'中停留多久,在onDestroy之后是否收集垃圾?或者他们在那之后呆在附近?
我知道一个办法不进入这个hastle是使用被打开和关闭内部的onResume和的onStop开关和onPostExecute更新视图之前检查一下吧,但我不能确定这是否是固体的方法在android应用中应用?如果不是,建议的方式是什么?
感谢您的详细解答! – tony9099