《Android学习计划》《第三周》
来源:互联网 发布:桌面总是出现精选淘宝 编辑:程序博客网 时间:2024/06/01 07:23
《Android学习计划》《第三周》
话题:理解Activity的启动模式。
1、Activity的启动模式有哪几种,分别用于什么场景?
2、清晰地描述下onNewIntent和onConfigurationChanged这两个生命周期方法的场景?
如何学习?
请从网上查找相干主题的内容,或者参考Android开发艺术探索第一章,还可以阅读Android官方文档中有关启动模式的章节。
回答:
启动模式有四种分别是:standard,singleTop,singleTask,singleInstance
1.standard标准模式,standard模式下启动的activity都会压入自己的任务栈中。
应用场景:无特殊要求,都会是standard模式启动activity。
2.singleTop栈顶复用模式,为了解决重复创建activity导致的资源浪费问题。如果要开启的activity和当前的activity一样的话,则不会新创建activity,而是直接复用当前的activity。
应用场景:1.电商项目,商品详情页->商品详情页。
2.解决快速点击导致同时开启两个相同的activity(我们目前这么用,可能控制快速点击好一些 ^_^)
3.singleTask栈内复用模式,singleTask开启activity,会检查当前的任务栈(不指定taskAffinity的情况下,默认是自己的包名)和要开启的activity的任务栈是不是同一个任务栈,
1.如果是同一个的话,检查当前的任务栈中是否有要开启的activity,如果有的话,则会复用栈内的activity,并将中间的activity全部出栈,如果没有,则创建一个新的activity压入栈中。
应用场景:电商项目 购物车页面->支付页面->支付完成页面->购物车页面。
2.如果要开启的activity和当前的activity不在同一个任务栈中,要检查所有的任务栈中是否和有和要启动的activity相同的任务栈,如果有,同1,如果没有,则创建一个新的任务栈,并将要启动的activity压入该任务栈中。(写的好晕啊,呜呜。)
应用场景:应用A的activity ->应用B的Activity (好多情况使用singleTask模式启动)。
singleInstance 。任务栈中有且只有这一个activity,此activity 只会有一个实例。
场景:浏览器。
onNewIntent:singleTop、singleTask、singleInstance模式启动的activity会走onNewIntent回调。
onConfigurationChanged activity可以指定Android:configChanges=”orientation|keyboard”,当指定的这些系统配置触发了,则会会调 onConfigurationChanged 。
- 《Android学习计划》《第三周》
- 本周(第三周)学习计划
- 《Android学习计划》《第五周》
- 【POI】学习计划 第三篇
- android:学习计划
- Android学习计划
- Android学习计划
- Android学习计划
- Android 学习计划
- Android学习计划
- Android学习计划
- android学习计划
- android学习计划
- android学习计划
- Android学习计划
- Android学习计划
- Android学习计划
- Android学习计划
- dup & dup2
- caffe HDF5 Data
- 关于智能机器人的一些伦理道德问题
- flask starter: tadpole
- c++中string类的详解
- 《Android学习计划》《第三周》
- noip2017 Day2 T2 宝藏treasure (状压dp)
- Linux下java8安装
- caffe多任务学习之多标签分类
- Flask-Windows下虚拟环境使用入门
- BBR即时带宽的计算
- 12306 下单
- YOLO Darknet
- Studio如何给log添加过滤项