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

相关推荐
&岁月不待人&18 小时前
⏺ Android 录屏缩放异常排查:Pixel 3 XL 上的完美风暴
android
a31582380619 小时前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
tangweiguo0305198719 小时前
从零开始:在 Windows 上使用命令行编译 Android .so 动态库(NDK + CMake + Ninja)
android
阿波罗尼亚19 小时前
Tcp SSE Utils
android·java·tcp/ip
知行合一。。。1 天前
Python--03--函数入门
android·数据库·python
大、男人1 天前
python之contextmanager
android·python·adb
不法1 天前
java查看安卓证书信息
android
儿歌八万首1 天前
Jetpack Compose 动画实战:让你的 UI 动起来
android·kotlin·动画·compose
千里马学框架1 天前
如何改进车载三分屏SplitScreen启动交互方式?
android·智能手机·分屏·aaos·安卓framework开发·车载开发·3分屏
REDcker1 天前
Android WebView 版本升级方案详解
android·音视频·实时音视频·webview·js·编解码