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

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


640?wx_fmt=gif&wxfrom=5&wx_lazy=1

作为一名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]


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

五一快乐!

640?wx_fmt=jpeg


阅读推荐:


从事程序员的8大好处,怪不得很多女孩子都喜欢嫁给程序员

猜你喜欢

转载自blog.csdn.net/x8i0bev/article/details/80140992