android_activity的生命周期和启动模式
来源:互联网 发布:pop3默认端口 编辑:程序博客网 时间:2024/05/16 11:50
- 生命周期
一类从出生到消亡的过程(时间段)
- 生命周期方法
对象从创建到销毁,所调用的方法。
- 创建与销毁
onCreate 和 onDestroy 数据的保存和回显工作
- 可见与不可见
onStart 和 onStop 可见的时候播放视频,不可见的时候暂停视频的播放
- 获取焦点和失去焦点
onResume 和 onPause
生命周期总结
- entire lifetime
完整生命周期 onCreate– onStart– onResume – onPause – onStop – onDestroy
- visible lifetime
可视生命周期 : onStart() – onResume – onPause – onStop
- foreground lifetime
前台生命周期: onResume – onPause
举一个问题,就是我们的屏幕在横竖屏调换的时候,activity的生命周期是会重新再执行一次的,
防止这个问题,我们需要在清单文件,做如下的设置。
横竖屏切换:
- 直接规定了是什么方向显示
android:screenOrientation=”landscape” |portrait
- 不指定方向,横屏就横屏显示,竖屏就竖屏显示
android:configChanges=”orientation|screenSize|keyboardHidden”
<activity <!-- //防止orientation(方向变化),screenSize(屏幕大小),keyboardHidden(键盘的显示和隐藏)而导致生命周期再走一遍。 --> android:configChanges="orientation|screenSize|keyboardHidden" android:name="com.itheima.kof.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
启动模式
Activity启动模式
- standard
这是默认的启动模式,: 启动多少次这个界面,就会有多少个这个界面实例被压入栈中
- singleTop
单一顶部模式:如果一个界面的实例已经存在栈顶,那么久不会再继续创建这个界面的实例,而是继续使用这个实例。 只要不是顶部,就与默认的模式一样。
场景: 为了避免出现一些奇怪的现象,为了避免让自己启动自己 短信编写界面*
- singleTask
单一任务模式:如果一个界面的实例已经存在栈中,那么再次启动就不会继续创建新的实例,而是继续复用它,并且把它与栈顶之间的其他实例全部移除掉。
场景: 为了减轻资源的消耗,在栈中值创建一次实例, 比如: 浏览器的界面
- singleInstance
全局唯一模式: 无论创建多少次都只有一个实例,并且这个实例放在一个独立的栈中,里面有且只能有它自己一个实例
场景: 为了减轻资源的消耗,在栈中值创建一次实例 比如: 通话界面或者紧急通话界面
<activity android:name="com.itheima.launchmode.SecondActivity" <!--配置启动模式--> android:launchMode="singleInstance" ></activity>
- android_activity的生命周期和启动模式
- android_Activity的四种启动模式和onNewIntent()
- android_Activity的四种启动模式和onNewIntent()
- Android_Activity的四种启动模式
- android_Activity的生命周期函数
- Android_Activity的生命周期
- Android_Activity的生命周期
- android_Activity系列 activity的生命周期
- Android_Activity生命周期
- Android_Activity生命周期
- android_activity生命周期
- Activity的生命周期和启动模式
- Activity的生命周期和启动模式总结
- Activity的生命周期和启动模式
- Activity的生命周期和启动模式
- Activity的生命周期和启动模式
- Activity的生命周期和启动模式
- Activity的生命周期和启动模式
- 蓝桥杯--查找整数&&数列排序
- JAVA笔记---IO流与文件读写
- angularjs material 实现搜索框
- JAVA笔记---集合与泛型
- hibernate不能自动创建表修bug记录
- android_activity的生命周期和启动模式
- JAVA笔记---反射
- 我的mac使用备忘
- 浅谈数据库设计原则(适合新人)
- JAVA笔记---线程同步
- Java环境配置
- Expression Add Operators
- Dalvik 和 Java 虚拟机的区别
- 单例在ObjectiveC中的正确打开方式