安卓基础之《(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、依次结束已打开的两个活动,此时活动栈的变动情况如下

相关推荐
慕容雪_1 小时前
Capacitor8-Android打包完整手册
android·打包·capacitor
阿杰m5 小时前
Android源码第十三章:Bluetooth——沿一次发现走到控制器
android
booboosui5 小时前
派活给另一个 AI:前后两次文件夹快照,就是交付清单
android
普通人611 小时前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
好的佩奇1 天前
Dart 之集合元素
android·flutter·dart
Easyhood1 天前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
FlightYe1 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
疯华整猫1 天前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
mmsx1 天前
耳切法切带洞多边形:论文能跑通,真实数据为什么崩
android·kotlin
洞见前行1 天前
你的 Activity 关了,为什么还活着?Android 内存泄漏从发现、定位到线上治理
android·性能优化·leakcanary