先废话一会:
安卓四大组件和重要,Activity是页面活动,学会了才能其他的内容,
学习目标:了解四大组件,掌握Activity(生命周期,启动模式)
Android四大组件和用途是什么?
Activity (活动) 有页面的显示效果
Service(服务) 无页面的后台操作
Broadcast Receiver(广播接受者) 过滤接受某动作/监听
Content Provider (内容提供者) 提供一种简单数据存储
Activity要学习什么玩意?
三种状态 四大启动模式 七个生命周期 保存和恢复数据
三大状态:
- Resumed理解为 激活状态 : 页面以交互 也就是正常的一个页面
- Paused 理解为 失去焦点状态:页面不能点击 ,比如出一个弹窗页面
- Stoped 理解为 消失状态 : 页面完全覆盖,比如实现调转页面
三个状态源于七个生命周期方法,是需要理解扩展的知识点
七个生命周期:
博主亲自做的中英对译生命周期图:
- onCreate (创建) 首次创建调用此方法只用一次,
- onStart (启动) 显示页面
- onResume (得到焦点) 用户交互
- onResume (失去焦点) 失去交互(比如弹窗)
- onStop( (暂停) 页面被覆盖,
onDestroy (销毁) 页面被销毁
onRestart (重新) 如果页面没有被销毁,重新调用的话,这个方法取代OnStart重新进入
四种启动模式:
(一个APP默认一个栈,栈内先进后出,实例就 页面)
- standard(标准模式) 只有一个栈,每一次跳转页面 ,都新建一个新的实例
- singleTop(栈顶单例) 只有一个栈,每一次跳转页面,看栈顶是否一致不一致就新建,(如果一致不新建)
- singleTask (栈内单例) 只有一个栈, 每一次跳转页面,如果栈中有相同的页面,中间的实例直接摧毁
- singleInstance(全局单例) 每次跳转都会创建一个新的栈,一栈一实例,
实际体现作用:
标准模式 可以 1-1 , 最后页面1是新建的
栈顶单例 只能1-2-1 , 最后页面1是新建的
栈内单例 只能1-2-1 , 最后页面1是原来的 而且2消灭
全局单例 1栈 1例,永不重复
代码编写:
<activity android:name=".MainActivity" android:launchMode="standard" />
应用场景:(后期补充)
保存恢复暂时略:
总结:生命周期和启动方式多为面试题目,务必好后学习;