Activity
Activity可以简单地理解成一个页面就是一个Activity。
- Activity的创建
-
新建类继承Activity或其子类
-
在AndroidManifest中声明
-
创建layout并在Activity的onCrete中设置
-
现在Android studio创建activity会自动声明并创建layout,而且做了设置布局文件的对应关系。
Activity的四种启动模式
Activity的android:launchMode属性进行设置
- standard: 标准模式,默认
- singleTop:Task栈顶复用模式
- singleTask:Task栈内复用模式
- singleInstance:全局单例模式(全局复用)
AndroidManifest中的属性和标签
- 设置默认启动 Activity:使用intent-filter标签,项目启动打开的第一个activity是有该标签的那个
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- activity的标题:
- 使用activity标签的label定义
- 使用activity标签的theme属性可以取消对应activity的标题android:theme="@style/Theme.AppCompat.Light.NoActionBar"
- 在application标签上使用上面一句话可以取消所有activity的标题
- 横竖屏设置
默认状态会自动调节横竖屏,也可以手动设置使用
android:screenOrientation="portrait"标签设置竖屏显示,
android:screenOrientation="landscape"设置横屏显示 - 启动模式 launchMode=“”
activity的生命周期
activity的四个状态
关于activity的四个状态: running-poused-stopped-killed
- running->当前显示在屏幕的activity(位于任务栈的顶部),用户可见状态。
- poused->依旧在用户可见状态,但是界面焦点已经失去,此Activity无法与用户进行交互。
- stopped->用户看不到当前界面,也无法与用户进行交互 完全被覆盖.
- killed->当前界面被销毁,等待这系统被回收
作者:android_Mr_夏
来源:CSDN
原文:https://blog.csdn.net/xiajun2356033/article/details/78741121
生命周期方法:
/* onCreate:
* 表示Activity正在被创建,执行一些初始化工作
* (如:调用 setContentView 加载界面布局资源,初始化Activity所需数据等);
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
/* onStart:
* 表示Activity正在被启动,这时Activity已经可见(对应用可见),
* 只不过还在后台,用户还看不到;
*/
@Override
protected void onStart() {
super.onStart();
}
/* onResume:
* 表示Activity已经出现在前台,用户可见;
*/
@Override
protected void onResume() {
super.onResume();
}
/* onPause:
* 表示Activity正在停止,可以执行存储数据、停止动画等不太耗时的工作
* (因为新活动的onCreate方法要在旧活动的onPause执行完才执行,
* 为了不影响用户体验,要求这个过程尽可能在很短时间内完成);
*/
@Override
protected void onPause() {
super.onPause();
}
/* onStop:
* 表示Activity即将停止,可以做一些稍微重量级的工作,同样不能太耗时;
*/
@Override
protected void onStop() {
super.onStop();
}
/* onDestory:
* 表示Activity即将被销毁,执行回收工作和资源释放。
*/
@Override
protected void onDestroy() {
super.onDestroy();
}
/* onRestart:
* 表示Activity正在重新启动,
* 执行顺序为:onPause → onStop → onRestart → onStart → onResume
*/
@Override
protected void onRestart() {
super.onRestart();
}
作者:laughterJ
链接:https://www.jianshu.com/p/ec50675ed116
一个activity的正常运行过程:
打开界面:onCreate->onStart->onResume
息屏/切换到后台:onPause->onStop
亮屏/切换到前台:onRestart->onStart->onResume
退出:onPause->onStop->onDestroy