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