欢迎光临散文网 会员登陆 & 注册

Android开发学习教程(23)- 浅谈Activity的生命周期

2023-01-28 14:56 作者:ChatGPT云炬学长  | 我要投稿

— 一举成名天下知,十年寒窗满腹墨。

关于 Activity 的生命周期,可以说是每一位 Android 开发者的入门必备知识,也可以说是入了门就几乎不会再翻看的内容。

相信同行们都知道,这是初级开发者面试必问的问题,虽然问这个问题的意义并不大,主要还是面试官要找一个开场过渡一下罢了。

虽说简单,但是如果答不上来,那可不是出师未捷身先死?

先来放一张来自官方文档陈年经典老图:

下面一一介绍一下生命周期的七个函数调用:

onCreate() :当 Activity 第一次创建时会被调用。这是生命周期的第一个方法,在这个方法中,可以做一些初始化工作,比如调用 setContentView() 去加载界面布局资源,初始化 Activity 所需的数据。当然也可借助 onCreate() 方法中的 Bundle 对象来回复异常情况下 Activity 结束时的状态。

onRestart() :表示 Activity 正在重新启动。一般情况下,当当前 Activity 从不可见重新变为可见状态时,onRestart() 就会被调用。这种情形一般是用户行为导致的,比如用户按 HOME 键切换到桌面或打开了另一个新的 Activity,接着用户又回到了这个 Actvity。

onStart() :表示 Activity 正在被启动,即将开始,这时 Activity 已经出现了,但是还没有出现在前台,无法与用户交互。这个时候可以理解为 Activity 已经显示出来,但是我们还看不到。

onResume() :表示 Activity 已经可见了,且出现在前台并开始活动。需要和 onStart() 对比,onStart() 的时候 Activity 还在后台, onResume() 的时候 Activity 才显示到前台。

onPause() :表示 Activity 正在停止但仍可见,正常情况下,紧接着 onStop() 就会被调用。在特殊情况下,如果这个时候快速地回到当前 Activity,那么 onResume() 就会被调用(极端情况)。onPause() 中不能进行耗时操作,会影响到新 Activity 的显示。因为 onPause() 必须执行完,新的 Activity 的 onResume() 才会执行。

onStop() :表示 Activity 即将停止,不可见,位于后台。可以做稍微重量级的回收工作,同样不能太耗时。

onDestory() :表示 Activity 即将销毁,这是 Activity 生命周期的最后一个回调,可以做一些回收工作和最终的资源回收。

源码链接:https://yunjunet.cn/876803.html

Android开发学习教程(23)- 浅谈Activity的生命周期的评论 (共 条)

分享到微博请遵守国家法律