Activity
是Android
四大组件之一;- 用于绘制用户界面并响应用户操作;
- 一个程序会包含多个
Activity
,有一个Activity
会被声明为主Activity
,用户进入应用是第一个显示的就是主Activity
; Activity
之间可以相互跳转;
Activity
的定义
- 定义一个类继承自
Activity
,并实现基类的若干方法; - 在
onCreate()
方法中调用setContentView(View view)
方法设置布局文件; - 在
AndroidManifest.xml
文件中对Activity
进行配置,否则系统找不到定义的Activity
;
Activity
跳转
不同的Activity
之间可以相互跳转,跳转有两种方式:
-
在一个
Actvity
中调用startActivity(Intent intent)
// 启动一个Activity startActivity(Intent intent);
-
startActivityForResult(Intent intent, int requestCode)
方法跳转到另外一个Activity
.// 该方法不仅可以启动其他Athity,还可以接收其他Actvity的返回结果,requestCode标识请求的来源。 startActivityForResult(Intent intent, int requestCode);
Activity
生命周期
当Android
应用在系统中运行时,每个Activity
都有它的生命周期。Activity
从创建到销毁, 可以分为如下三种状态:
- 活动状态:当前
Activity
处于前台,可以获得焦点,可以被用户可见并响应用户的操作 - 暂停状态:当前
Activity
依然被用户可见,但是不能获得焦点,其他Activity
处于前台。 一个处于暂停状态的Activity
仍然处于内存中,但是在系统内存较低的时候可能会被回收掉。 - 停止状态:当前
Activity
不再可见,完全处于后台。当其他地方有内存需要时,该Activity
会被回收。
Activity
生命周期回调方法:Activity
的每一种状态都会有对应的回调方法。
Activity
的启动模式
-
standard
模式:默认的启动模式,如果在当前
Activity
中打开一个新的Activity
,则系统默认的启动模式,如果在当前Activity
中打开一个新的Activity
, 则系统会保存之前的Activity
的状态, 将新打开的Activity
压入堆栈的顶部,并且获取焦点。当用户点击“返回”键之后,当前Activity
会从堆栈顶部移除,之前的Activity
恢复状态并正常运行。 -
singleTop
模式系统启动一个
Activity
,会判断当前待启动的Activity
和栈顶的Activity
是否一致,如果是同一个Activity
,则不新建当前Activity
的对象, 而是回调栈顶Activity
对象的onNewIntent()
方法。 -
singleTask
模式新启动的
Activity
如果在当前任务栈中已经存在,则不新建对象,直接回调栈中已存在对象的onNewIntent()
方法。该启动模式和singleTop
类似, 但是不要求新启动的Activity
在栈顶存在, 只要在栈中即可。 -
singlelnstance
模式每启动一个应用,系统都会为该应用建立一个任务栈。
singlelnstance
启动模式要求Activity
只能单独的位于一个任务栈中,即对象在所有的任务栈范围内都只存在一份。
来源:CSDN
作者:Exasdre
链接:https://blog.csdn.net/qq_41156834/article/details/104668561