从0开始不断温习,Android基础篇

本文是作者整理的Android面试学习路线,重点讲解了Activity的生命周期,包括4种状态和各种场景下的生命周期变化。此外,还讨论了Activity的启动模式、任务栈、组件间通信以及scheme跳转协议。适合巩固Android基础知识和面试准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

()经常发现学着学着,由于学习的东西越来越多,接触的东西越来越多,逐渐的吧自己的最基础的东西忘得差不多了(o(╥﹏╥)o我也差不多忘了很多东西了)
发现越优秀的人 越注重细节,基础更加扎实和巩固

分享一下自己整理的面试学习路线

Android核心技术面试必备.png
请查看完整的PDF版

更多完整项目下载。未完待续。源码。图文知识后续上传github。
可以点击关于我联系我获取

一.Activity 是什么?

Activity 实际上只是一个与用户交互的接口而已

二.Activity 生命周期
2.1 Activity 的 4 种状态

Active/Paused/Stopped/Killed

Activie: 当前 Activity 正处于运行状态,指的是当前 Activity 获取了焦点。

Paused: 当前 Activity 正处于暂停状态,指的是当前 Activity 失去焦点,此时的 Activity并没有被销毁,内存里面的成员变量,状态信息等仍然存在,当然这个 Activity 也仍然可见,但是焦点却不在它身上,比如被一个对话框形式的 Activity 获取了焦点,或者被一个透明的 Activity 获取了焦点,这都能导致当前的 Activity 处于 paused 状态。

Stopped: 与 paused 状态相似,stopped 状态的 Activity 是完全不可见的,但是内存里面的成员变量,状态信息等仍然存在,但是也没有被销毁。

Killed: 已经被销毁的 Activity 才处于 killed 状态,它的内存里面的成员变量,状态信息等都会被一并回收。

2.2 Activity 的生命周期分析

正常情况下的生命周期:
Activity 启动–>onCreate()–>onStart()–>onResume()
点击 home 键回到桌面–>onPause()–>onStop()
再次回到原 Activity–>onRestart()–>onStart()–>onResume()
退出当前 Activity 时–>onPause()–>onStop()–>onDestroy()

详细生命周期如下:

1.启动了一个 Activity,通常是 Intent 来完成。启动一个 Activity 首先要执行的回调函数是onCreate(),通常在代码中你需要在此函数中绑定布局,绑定控件,初始化数据等做一些初始化的工作。

2.即将执行 Activity 的 onStart()函数,执行之后 Activity 已经可见,但是还没有出现在前台,无法与用户进行交互。这个时候通常 Activity 已经在后台准备好了,但是就差执行onResume()函数出现在前台。

3.即将执行 Activity 的 onResume()函数,执行之后 Activity 不止可见而且还会出现在前台,可以与用户进行交互啦。

4.由于 Activity 执行了 onResume()函数,所以 Activity 出现在了前台。也就是 Activity处于运行状态。

5.处于运行状态的 Activity 即将执行 onPause()函数,什么情况下促使 Activity 执行onPause()方法呢?

  • 启动了一个新的 Activity
  • 返回上一个 Activity

可以理解为当需要其他 Activity,当前的 Activity 必须先把手头的工作暂停下来,再来把当前的界面空间交给下一个需要界面的Activity,而 onPause()方法可以看作是一个转接工作的过程,因为屏幕空间只有那么一个,每次只允许一个 Activity 出现在前台进行工作。通常情况下 onPause()函数不会被单独执行,执行完 onPause()方法后会继续执行onStop()方法,执行完 onStop()方法才真正意味着当前的 Activity 已经退出前台,存在于后台。

6.Activity 即将执行 onStop()函数,在“5”中已经说得很清楚了,当 Activity 要从前台切换至后台的时候会执行,比如:用户点击了返回键,或者用户切换至其他 Activity 等

7.当前的 Activity 即将执行 onDestory()函数,代表着这个 Activity 即将进入生命的终结点,这是 Activity 生命周期中的最后一次回调生命周期,我们可以在onDestory()函数中,进行一些回收工作和资源的释放工作,比如:广播接收器的注销工作等。

8.执行完 onDestory()方法的 Activity 接下来面对的是被 GC 回收,宣告生命终结

9.很少情况下 Activity 才走“9”,网上一些关于对话框弹出后 Activity 会走“9”的说法,经过笔者验证,在某个 Activity 内弹出对话框并没有走“9”,所以网上大部分这样说法的文章要么是没验证,要么直接转载的,这个例子说明,实验出真知,好了,不废话了,那么什么情况下,Activity 会走“9”呢?

10.当用户在其他的 Activity 或者桌面回切到这个 Activity 时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值