几种常见操作导致的Activity生命流程的变化
来源:互联网 发布:淘宝刷单平台源码 编辑:程序博客网 时间:2024/06/05 20:18
1 第一种:比如点击按钮弹出一个Toast,或者对话框,这个时候是activity生命周期是不会变化的。
运行结果如下
2 第二种:跳转到另外一个透明的activity,这个时候ActivityA 会调用onPause();ActivityB会调用onCreate(),onStart(),onResume()方法。
运行结果如下:
3 第三种:当切换横竖屏的时候,会重写创建走一遍生命流程,并且会调用onSaveInstanceState()方法。来保存当前的生命周期状态。
运行结果如下。
我这边横竖屏切换都是只调用走一遍生命流程,并没有像网上说的那样不会出现网上说的横屏切回竖屏时,生命周期执行两遍的问题。具体我也没搞清楚。
若是不想在在切换的时候重新执行一遍生命周期的话,可以设置configChanged的属性。
在sdkl版本13之前只需要设置orientation就可以了,当sdk版本大于13的时候,就需要设置screenSize。
android:configChanges="orientation|screenSize"
运行结果
这个时候不会再重新执行onCreate()— onStart()—onResume()这样的方法,而是执行了onConfigurationChanged()方法。
4 当因为系统的内存不足而导致activity销毁的话,这个时候只能通过重新创建,并且这个时候系统会调用onSaveInstanceState()和onRestroeInstanceState()方法来恢复activity的状态。
activity的被销毁的优先级有:
最后被销毁的是正在前台与用户交互的activity,其次是处于onPause()状态的activity,最容易被销毁的是处于onstop()状态的activity,就是处于后台的activity.
- 几种常见操作导致的Activity生命流程的变化
- Activity的几种操作
- 缓慢变化维的几种常见解决方法
- ETL-关于缓慢变化维的几种常见解决方法:
- 常见几种导致内存泄露的不良写法
- Activity的生命进程
- Activity的生命期
- Activity生命流程
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 程序员浪费生命的几种方式
- 第2周项目3-小试循环
- 从机器学习谈起
- NSURLSession学习
- C# 委托和事件
- poj1782(Run Length Encoding)
- 几种常见操作导致的Activity生命流程的变化
- poj 2689Prime Distance
- kafka 0.9 broker 参数
- 1.1 NAS简介
- angularJS结构分析(转)
- 蓝桥杯---2012--比酒量(暴力)
- POJ-2142-The Balance(扩展欧几里得)
- Java - eclipse 使用日记
- HDU 2602 Bone Collector