安卓基础之《(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 天前
重磅官宣:Android UI 开发正式进入 Compose-first 时代
android·google io
Kapaseker1 天前
搞懂变换!精通 Compose 绘制(二)
android·kotlin
美狐美颜SDK开放平台1 天前
美颜SDK开发详解:如何优化美颜SDK在低端安卓机上的性能?
android·ios·音视频·直播美颜sdk·视频美颜sdk
Gary Studio1 天前
深入MTK Android BSP:如何确定编译目标与查找项目设备树
android
casual_clover1 天前
【Android】实现状态栏背景透明,系统时间/图标直接显示在页面背景上
android·透明状态栏
blackorbird1 天前
Android Pixel 10 零点击漏洞利用链
android
_kerneler1 天前
[qemu+kvm] vfio-platform irq 注入过程
android
亚空间仓鼠1 天前
Docker容器化高可用架构部署方案(十一)
android·docker·架构
我命由我123451 天前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
shandianchengzi1 天前
【科普】安卓|安卓手机上如何简便实现Ctrl+Z(需要键盘或一台Windows电脑)
android·windows·智能手机·计算机外设·安卓·科普·记录