分享

这个知识点,80%的求职者很容易陷入面试官精心设计的陷阱

 爱开发 2022-08-02 发布于广东

作为一名Android开发程序员,面试时,关于Activity的生命周期几乎是面试官必问的知识点,以此来考察应聘者的基础扎实程度。

譬如有这样的一个面试题,稍微不小心就很容易陷入面试官精心设计的陷阱。

Activity中调用finish方法后,是不是就生命周期就结束了?

要是不加以注意,顾名思义,有的求职者回答Activity的生命周期就这样结束了,估计这场面试很难拿到offer了。

那么Activity中调用finish方法后,Activity的生命周期发生什么样的变化呢?我们不妨一起来看看。在不同时期调用finish方法,Activity生命周期是怎样的。

1、如果我们在Activity的onCreate()中调用finish()方法,会发现,不会显示出此Activity的界面,但从我们打印的日志看,执行的生命周期方法顺序为:

onCreate() -> onDestroy()

在Activity的onCreate()中调用finish()方法,生命周期直接跑到了onDestroy了。

2、在Activity的onStart()中调用finish()方法,页面会直接退出,执行的生命周期方法顺序为:

onCreate() -> onStart() -> onStop() -> onDestroy()

3、在Activity的onResume()或onPostResume()中调用finish()方法,页面直接退出,则执行的生命周期方法顺序为:

onCreate() -> onStart() -> onResume() -> onPostResume() ->onPause() -> onStop() -> onDestroy()

4在onPause、onStop、onDestroy中调用finish方法

在onPause、onStop、onDestroy中,调用finish,页面显示正常。退出时,正常退出。执行的生命周期为:

onCreate()-> onStart()-> onResume()-> onPause()-> onStop()-> onDestroy()

由此可见,Activity在不同地方调用finish()方法,生命周期是不一样的。这只是面试中一道比较基础的面试题,要是基础知识没有掌握好,被面试官问懵了因此错过了offer,那是多么一件很遗憾的事情,可以平时多花点时间,把基础知识牢固掌握好是多么重要的一件事情。

[END]

希望今天的文章对你有帮助,感谢阅读,感谢有你,晚安!

五一快乐!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多