一、 深入理解act生命周期&启动模式
来源:互联网 发布:南方周易软件安卓版 编辑:程序博客网 时间:2024/06/01 10:04
act生命周期具体情况的说明
1.act切换回桌面或跳转新act,onPause->onStop,有一种特殊情况,新的act采用透明主题,当前act不会回调onStop
2. act跳转周期方法执行顺序:旧act先onPause(),新act onCreate、onStart、onResume,因此官方文档有这么一句:onPause不能做重量级操作。
3. act onSaveInstanceState(Bundle outState)只会在act即将被销毁并且有机会重现显示情况下调用,如横竖屏转化
4. act优先级
-前台act,正与用户交互
- 可见非前台act,比如弹出一个对话框
- 后台act,已执行onStop,优先级最低
内存不足时,系统会按照上述优先级杀死act,并在后续onSaveInstance来存储和恢复数据
act的launchMode
1.standard 默认模式,注意,ApplicationContext启动此模式act会报错。这是因为,act默认会进入启动它的act所属任务栈,非act的Context根本就没有任务栈。解决此问题,需要为待启动act指定FLAG_ACTIVITY_NEW_TASK标记位,这个act实际是一singleTask模式启动的
2.singleTop ,新act在已经在栈顶则回调onNewIntent,而不是调用Oncreate,onStart.如果没在栈顶,则会重建。如一个任务栈ABCD,若singTop启动D,则仍为ABCD,若standard,则ABCDD
3.singTask,若栈内已存在,则回调onNewIntent。默认有ClearTop效果。
4.关于任务栈,TaskAffinity标识了一个act所需的任务栈名称,默认为包名,也可以为其单独的属性值。TaskAffinity属性主要和singTask启动模式或者allowTaskRepareting属性配对使用。其他没有意义。注意体会
TaskAffinity和singleTask启动模式配对使用时,它是具有该模式的act的目前任务栈名称,待启动的act会运行在名字和taskAffinity相同的任务栈中。
5.两种方式指定启动方式,manifest或intent.addFlag ,后者优先级高,
- 一、 深入理解act生命周期&启动模式
- Activity生命周期及启动模式深入理解
- 深入理解Activity——生命周期、启动模式、taskAffinity
- 深入理解Activity生命周期(一)
- 深入理解Activity启动模式
- activity4种启动模式,生命周期的理解
- 一、Activity生命周期及启动模式
- Activity的生命周期和启动模式(一)
- 深入理解Activity-任务,回退栈,启动模式
- 深入理解Activity启动模式之launchMode
- Activity的启动模式的深入理解
- 深入理解Activity启动模式(一)–Activity与进程,线程的关系
- 深入理解iPhone委托模式兼谈iPhone生命周期
- 深入理解iPhone委托模式兼谈iPhone生命周期
- 转载: 深入理解iPhone委托模式兼谈iPhone生命周期
- 深入理解iPhone委托模式兼谈iPhone生命周期
- 深入理解iPhone委托模式兼谈iPhone生命周期
- 深入理解iPhone委托模式兼谈iPhone生命周期
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
- Python函数参数默认值的陷阱和原理深究
- RecycleView刷新加载
- 初识410c
- 京东登录
- 一、 深入理解act生命周期&启动模式
- Exception 异常 例子
- SSM线上项目解析和quartz定时器及缓存Ehcache(实体类指定sqlmapper.xml方式)
- 欢迎使用CSDN-markdown编辑器
- angular增删查改
- 生活小记13
- TensorFlow
- 京东登录2
- HDU3068 最长回文