安卓中活动的生命周期——面试、笔试必考题

一、前言

安卓开发岗位面试官最喜欢问的问题就是活动的生命周期,尤其是对于应届生来说,对于这种基础的问题一定要记牢。既然没有工作经验,如果基础的问题都回答不出来,那凭什么别人会相信你有潜力?

二、知识点

每个活动的生命周期中会存在四种状态:运行、暂停、停止、销毁。

  1. 安卓中Activity总共有七个回调函数,分别是:
    ①onCreate(),这个方法在活动第一次创建的时候会被调用,在里面可以加载布局,绑定事件等等。
    ②onStart(),活动由不可见变为可见的时候被调用。
    ③onResume(),活动准备好和用户进行交互的时候被调用。
    ④onPause(),活动暂停之前被调用,这时候活动还是可见的。
    ⑤onStop(),活动停止之前被调用,这时活动已经不可见了。
    ⑥onRestart(),活动由停止状态变为运行状态之前被调用。
    ⑦onDestroy(),活动被销毁之前被调用,之后活动就进入销毁状态。
  2. 下图是官网给出的活动生命周期图:
    在这里插入图片描述

三、题目

  1. 按下HOME键时会调用哪些方法?
    答:onPause()、onStop()。
  2. 接着第一问,返回桌面之后,再返回来,会调用哪些方法?
    答:依次调用onRestart()、onStart()、onResume()。
  3. 按下BACK键时会调用哪些方法?
    答:按下BACK活动最终会被销毁,会依次调用onPause()、onStop()、onDestroy()。
  4. 活动A进入活动B,两个活动各自会调用哪些方法?(魅族面试,有点坑)
    答:A的onPause()→B的onCreate()、onStart()、onResume()→A的onStop()。
    注意: 活动A的onStop()的是最后执行的,因为之前说了,只有活动完全不可见的时候onStop()方法才会被调用,别理想当然地认为它在onPause()方法之后执行)
  5. 接着第5问,按下BACK键活动从B返回A,会调用哪些方法。
    答: B的onPause()→A的onRestart()、onStart()、onResume()→B的onStop()、onDestroy()。
  6. 锁屏的时候会调用活动的什么方法?(斗鱼笔试)
    答:onPause()、onStop()。
  7. 接着上一问,活动从锁屏再亮屏,会调用什么方法?(斗鱼笔试)
    答:onRestart()→onStart()→onResume()。

四、总结

  • 按下HOME键、锁屏,活动没有被销毁、按下BACK键活动才会被销毁。像从A活动进入到B活动,A活动只是停止了,按下BACK键返回A活动,B活动会被销毁,A活动则是被重启了。
  • 其实再怎么说,也无法真正地理解,想要记得牢固一点,还是得亲自创建一个项目实践一下。
发布了42 篇原创文章 · 获赞 10 · 访问量 2699

猜你喜欢

转载自blog.csdn.net/Deep_rooted/article/details/105185597