Android之旅--Activity生命周期
任何对象都有生命周期,activity也不例外。在activity的生命周期中总共包含了7个方法,从官方的SDK Docs里面的activity解释里面我们可以找到下面这张图:
下面我们就来详细说说这几个方法。
OnCreate()。当一个activity启动后首先调用的就是这个方法,在这个方法中一般初始化一些控件啊,资源啊,绑定数据等等工作。
Onstart()。当第一次对用户可见的时候执行该方法(有点类似于winform的onShown方法)。
OnResume ()。能够获得用户焦点的时候执行该方法。
OnPause()。启动另外一个Activity方法后,执行该方法。
Onstop()。当前Activity不可见(被其他activity完全遮挡住)后执行该方法。注意不是销毁,如果其他activity调用这个activity时则是执行OnRestart()方法而不是重新start()。
OnRestart()。activity在没有销毁的情况下重新显示。
OnDestroy()。被销毁时调用。何时会被销毁?1.手动调用Finish()方法时;2.系统资源不足时自动销毁
最后再来说一下task:什么是Task?当我们同时启动多个activity的时候,这个多个activity就是以栈的形式存放在task中。界面显示的Activity永远是在栈顶的那个activity。显示一个activity就是压入task栈中,back则是出栈。
都是些原理性的东西也不怎么好演示,知道这个意思就行了。重要的还是掌握前面的那七个方法,知道什么时候会被调用以便处理程序逻辑。
分类:
Android开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?