我已经在onDestroy
我的活动中添加了一些缓存清理代码,但大部分时间代码都没有执行,除非我通过显式完成活动finish()
.
编辑:只读或onDestroy
仅finish()
在系统资源不足时调用.那么我需要在哪里放置缓存清理代码?如果我将其放入onPause()
并且用户返回应用程序,则清除缓存.我实际上是将重要的临时文件存储在不应删除的缓存中onPause
.
med*_*eda 13
来自Android开发者文档:
protected void onDestroy()
在API级别1中添加在销毁活动之前执行任何最终清理.这可能是因为活动正在完成(有人称为finish(),或者因为系统暂时销毁此活动实例以节省空间.您可以使用isFinishing()方法区分这两种情况.
注意:不要指望这种方法被称为保存数据的地方!例如,如果某个活动正在编辑内容提供程序中的数据,那么这些编辑应该在onPause()或onSaveInstanceState(Bundle)中提交,而不是在此处.通常实现此方法是为了释放与活动相关联的线程之类的资源,以便在其应用程序的其余部分仍在运行时,被破坏的活动不会留下这些东西.在某些情况下,系统会简单地杀死活动的托管进程,而不会在其中调用此方法(或任何其他方法),因此它不应该用于执行在进程消失后保留的内容.
您可以将代码移动到onPause()
或onStop()
归档时间: |
|
查看次数: |
9062 次 |
最近记录: |