Dmi*_*ank 9 android ondestroy android-activity
我很困惑Activity.onDestroy().当我的Activity被销毁时,我需要释放一些资源,但是当我按下"后退"键时,似乎调用了onDestroy(),但是当我的Activity被Dalvik杀死时却没有.我只是通过添加日志来测试它:
Log.v("my_tag", "onDestroy() called");
和onCreate()方法一样:
Log.v("my_tag", "onCreate() called");
然后我开始我的活动,我在日志中看到:onCreate() called.我按"返回"键然后再次启动活动,然后我看到:
onDestroy() called
onCreate() called
Run Code Online (Sandbox Code Playgroud)
然后我按"Home"键再次转到我的Activity,日志不会改变.好的,这里.
然后我再次按"Home"键并启动一些非常"重"的应用程序.在日志中没有任何关于onDestroy(),但当我再次启动我的Activity时,我在日志中看到:onCreate() called!因此,没有调用onDestroy(),但我的Activity被杀了.怎么了?
从onDestroy()文档:
[..]有些情况下系统会简单地杀死活动的托管过程,而不会在其中调用此方法(或任何其他方法),因此它不应该用于执行过程消失后要保留的内容.
在Android中,您将无法获得有保证的onDestroy()通话.
如果你想发布一些资源,你应该这样做onPause().
| 归档时间: |
|
| 查看次数: |
4159 次 |
| 最近记录: |