Activity的使用总结 (一)
正常情况下的生命周期:
- A界面开启B界面所走的方法: A onPause–> B onCreate–> B onStart–> B onResume
–>A onstop 旧activity先onPause,然后新activity再启动 - onPause里面不能做一些耗时操作,因为必须是onPause执行完,新activity的onResume才会执行,等到新activity的onResume完全执行完毕,新的界面才能显示
- 正常情况下,释放资源的工作是放在onDestory里面,但是可能会存在内存泄露,onDestory没有立即执行,所以资源的释放 应该放在onstop里面,在onstop里面做一个act.isFinishing()的判断,这样就能保证每次页面关闭的时候都会立即释放资源(onPause里面不能做一些耗时操作)
异常情况下act的生命周期:
异常的情况分成2种:
- 资源相关的资源配置发生改变导致act被杀死然后在重新创建(例如:旋转屏幕)
- 内存不足导致低优先级的act被杀死然后在重建
- 系统配置发生改变以后,activity会销毁,其onPause,onStop,onDestory均会被调用,由于activity是在异常情况下终止的,系统会调用onSaveInstance来保存当前activity状态,这个方法的调用时机是在onStop之前,与onPause