安卓基础之《(4)—Activity组件》

==========启停活动页面==========

一、Activity的启动和结束

1、从当前页面跳到新页面,跳转代码

java 复制代码
startActivity(new Intent(源页面.this, 目标页面.this));

从A跳到B,A就是源页面,B是目标页面

2、从当前页面回到上一个页面,相当于关闭当前页面,返回代码

java 复制代码
finish(); // 结束当前的活动页面

3、注意A、B页面都要在清单文件中注册

二、Activity的生命周期

1、生命周期

2、什么是生命周期

定义:一个事物由生到死,状态转换的过程

有来就会有去,痛苦来了会走,生气来了也会走

3、生命周期,activity的启动到结束,中间有很多可执行的操作

4、生命周期方法说明

(1)onCreate:创建活动。把页面布局加载进内存(所以经常用findViewById),进入了初始状态

(2)onStart:开始活动。把活动页面显示在屏幕上,进入了就绪状态

(3)onResume:恢复活动。活动页面进入活跃状态,能够与用户正常交互,例如允许响应用户的点击动作、允许用户输入文字等等(在这里开启动画)

(4)onPause:暂停活动。页面进入暂停状态,无法与用户正常交互

(5)onStop:停止活动。页面将不在屏幕上显示

(6)onDestroy:销毁活动。回收活动占用的系统资源,把页面从内存中清除

(7)onRestart:重启活动。重新加载内存中的页面数据

(8)onNewIntent:重用已有的活动实例

5、onNewIntent说明

如果一个Activity已经启动过,并且存在当前应用的Activity任务栈中,启动模式为singleTask、singleInstance或singleTop(此时已在任务栈顶端),那么在此启动或回到这个Activity的时候,不会创建新的实例,也就是不会执行onCreate方法,而是执行onNewIntent方法

三、各状态之间的切换过程

1、打开新页面的方法调用顺序为

onCreate --> onStart --> onResume

2、关闭旧页面的方法调用顺序为

onPause --> onStop --> onDestory

3、日志

复制代码
打开页面
2025-12-12 16:21:52.912 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onCreate
2025-12-12 16:21:53.192 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onStart
2025-12-12 16:21:53.215 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onResume
跳转
2025-12-12 16:22:17.936 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onPause
2025-12-12 16:22:18.853 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onStop
返回页面
2025-12-12 16:22:22.030 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onRestart
2025-12-12 16:22:22.030 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onStart
2025-12-12 16:22:22.032 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onResume
关闭页面
2025-12-12 16:22:25.081 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onPause
2025-12-12 16:22:26.329 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onStop
2025-12-12 16:22:26.330 11916-11916 sam                     com.example.chapter04                D  ActStartActivity onDestroy

四、Activity的启动模式

1、Activity启动后是放入任务栈(task stack)里头的

2、某App先后打开两个活动,此时活动栈的变动情况如下

3、依次结束已打开的两个活动,此时活动栈的变动情况如下

相关推荐
Sinclair20 小时前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
雮尘1 天前
手把手带你玩转Android gRPC:一篇搞定原理、配置与客户端开发
android·前端·grpc
ktl1 天前
Android 编译加速/优化 80%:一个文件搞定,零侵入零配置
android
alexhilton1 天前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack
冬奇Lab2 天前
InputManagerService:输入事件分发与ANR机制
android·源码阅读
张小潇2 天前
AOSP15 Input专题InputManager源码分析
android·操作系统
RdoZam2 天前
Android-封装基类Activity\Fragment,从0到1记录
android·kotlin
奥陌陌2 天前
android 打印函数调用堆栈
android
用户985120035832 天前
Compose Navigation 3 深度解析(二):基础用法
android·android jetpack
恋猫de小郭2 天前
Android 官方正式官宣 AI 支持 AppFunctions ,Android 官方 MCP 和系统级 OpenClaw 雏形
android·前端·flutter