Android Activity生命周期和堆栈管理的详解
发布时间 - 2026-01-11 02:21:35 点击率:次Activity的生命周期

Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件。
系统提供的组件,不需要用户实例化,用户也不能实例化,是系统进行回调,例如web开发的servlet也是系统提供的,和android 的其他系统组件一样。
那么不需要我们实例化我们怎么用呢,这些组件都有相同的特点就是:
1.都需要在配置文件中注册 2.都需要自定义类去继承系统的Api 3.都有自己的生命周期
那么Activity的生命周期有那些方法呢:
1.onCreate 2.onStart 3.onrestart 4.onResume 5.onpause 6.onstop 7.ondestroy
Activity总共有以上7个回调方法
Activiy总共有三种小的生命周期
场景一
一个Activity的开启到销毁
OnCreate---onStart----onResume------onPause-----Onstop---onDestroy
这是一个完整的生命周期
场景二
A Activity 跳转到 到 B Activity (BActivity是完全覆盖AActivity)
AOnCretate-----AOnStart----AOnResume------AOnPause------BOnCreate-----BOnStart------BOnReSume ----AOnStop
B activity 返回到A Activity生命周期执行的回调是:
BOnPause---AOnRestart--AOnResume---BOnstop---BOnDestory
场景三
A Activity跳转到B Activity(B Activity 是一个 对话框形式的Activity 或者 BActivty是一个透明的)
AOnCretate-----AOnStart----AOnResume ------AOnPause------ BOnCreate-----BOnStart------BOnReSume ----
B activity 返回到A Activity生命周期执行的回调是:
BOnPause---AOnResume---BOnstop---BOnDestory
场景四
手机的横竖屏切换,android的生命周期方法的重新执行,
onPause
onstop
ondestroy
oncreate
onstart
onresume
如果想横竖屏切换时,不重新走生命周期,需要清单为Activity配置属性:configChanges
也可以设置屏幕 锁定为横屏或竖屏 ,screenOrientation:lanscape | portriant
2、Activity的四种状态
运行 onResume 暂停 onPause 停止 onStop 销毁 onDestroy
3、Activity的三个生命周期
1>完整的 onCreate——onDestroy 2>可见的 onStart——onStop 3>活动的 onResume——onPause
Activity的堆栈管理模式
数据结构 队列:先进先出 栈:先进后出 每打开一个Activity,将会入栈,退出一个,将会出栈,采用栈的先进后出结构
启动模式
standard 标准启动 singleTop 单一栈顶 保证栈顶只有一个实例,任务栈中可能有很多实例 场景:浏览器 书签 singleTask 单一任务栈 保证 所在的任务栈 ,只有一个实例 比如说设置 A 为此模式,保证整个任务栈只有A一个实例,如果栈顶有其他Activity,再打开A时,将栈顶其他Activity全部出栈。 场景 如:webkit 内核 singleInstance单一实例 保证整个系统的栈中,只有一个实例 比如说设置 A 为此模式,那么 A将单独使用一个任务栈 场景:打电话 、闹铃响
如有疑问大家留言或者到社区讨论,共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Activity生命周期
# Activity生命周期与栈
# Android四大组件之Activity深入解读生命周期
# Android Activity生命周期调用的理解
# Android Activity的生命周期与启动模式全面解读
# Android入门教程之组件Activity的生命周期详解
# Android非异常情况下的Activity生命周期分析
# Android Activity的生命周期详细介绍
# android中Activity详解(生命周期、以各种方式启动Activity、状态保存
# 完全退出等)
# Android Activity生命周期详解
# Android12四大组件之Activity生命周期变化详解
# 回调
# 只有一个
# 是一个
# 都有
# 将会
# 不需要
# 总共有
# 跳转到
# 自己的
# 有很多
# 如有
# 最重要
# 这是一个
# 数据结构
# 希望能
# 三种
# 自定义
# 四种
# 谢谢大家
# 提供一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
高端智能建站公司优选:品牌定制与SEO优化一站式服务
怎么用AI帮你设计一套个性化的手机App图标?
如何用已有域名快速搭建网站?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
🚀拖拽式CMS建站能否实现高效与个性化并存?
高防服务器租用指南:配置选择与快速部署攻略
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
微信小程序 闭包写法详细介绍
高性能网站服务器部署指南:稳定运行与安全配置优化方案
php json中文编码为null的解决办法
Laravel Fortify是什么,和Jetstream有什么关系
如何快速生成ASP一键建站模板并优化安全性?
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
个人网站制作流程图片大全,个人网站如何注销?
如何在阿里云香港服务器快速搭建网站?
制作企业网站建设方案,怎样建设一个公司网站?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel如何使用Blade模板引擎?(完整语法和示例)
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何在万网ECS上快速搭建专属网站?
详解Android——蓝牙技术 带你实现终端间数据传输
如何快速生成高效建站系统源代码?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
如何将凡科建站内容保存为本地文件?
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel如何处理CORS跨域请求?(配置示例)
如何实现javascript表单验证_正则表达式有哪些实用技巧
UC浏览器如何设置启动页 UC浏览器启动页设置方法
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
iOS中将个别页面强制横屏其他页面竖屏
Laravel如何自定义分页视图?(Pagination示例)
怎样使用JSON进行数据交换_它有什么限制
简单实现Android文件上传
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
如何在万网自助建站平台快速创建网站?
网站图片在线制作软件,怎么在图片上做链接?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
个人摄影网站制作流程,摄影爱好者都去什么网站?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何批量查询域名的建站时间记录?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何在七牛云存储上搭建网站并设置自定义域名?

