您的位置:首页 > 其它

杂记-Activity生命周期

2018-08-28 16:26 190 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MOMO519/article/details/82146924

Activity

onPause:表示Activity正在停止,可以进行停止动画, 贮存数据等操作。但是不可进行太耗时的操作。

onPause必须先执行完 新的Activity的onResume才会执行。

 

onDestroy: 可以做一些回收工作和最终的资源释放。

 

当用户打开新的Activity的时候或者切换到桌面的时候OnPause→onStop。

特殊情况:当新Activity是透明主题的时候,当前Activity不会执行onStop 操作。

 

onStart 和onStop是从Activity是否可视的角度来回调

onResume 和onPause 是从Activity是否在前台的角度回调,在实际使用中 两者没有明显区别

Activity.finish(): finish函数仅仅把当前Activity退出了,但是并没有释放资源。

Activity.onDestory(): 系统销毁了这个Activity的实例在内存中占据的空间。资源空间等就被回收了。

System.exit(0):退出整个应用程序,是针对整个Application。将整个进程直接KO

 

 

onSaveInstanceState和 onRestoreInstanceState

Activity 在异常情况终止(横竖屏切换或者内存不足被干掉)的时候系统会调用onSaveInstanceState当Activity 被重建后系统会把onSaveInstanceState保存的Bundle对象作为参数同时传递给onCreate 和onRestoreInstanceState

onRestoreInstanceState 在onStart之后

系统在重新创建时,会默认我们要保存当前的视图 并且在Activity重启后恢复数据:每一个View都有onSaveInstanceState和 onRestoreInstanceState方法。

onRestoreInstanceState方法一旦被调用肯定是有值的 不需判断Bundle是否为NULL。(官方推荐使用)

 

当系统配置发生改变的时候Activity 会被重新创建 给Activity指定configchanges的属性可以不重新创建

常用的属性有   locale :设备本地位置发生改变     keyboardHidden :键盘访问性发生了改变 orientation :屏幕方向发生了改变

注:当MinSdkVersion 和targetSdkVersion 有一个版本号大于13时 为了防止旋转屏幕时Activity重启  需要添加orientation

 

  注:此数据来此 《Android开发艺术探索》一书 。

    受益颇多  ღ( ´・ᴗ・` )比心

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: