曾经有个看似简单,但是大部分人都不怎么留意的问题,导致了我一场面试泡汤。我前面的回答都很不错,但是这个问题回答不上来,会让面试官觉得你是背八股文的。
问题:Activity A跳转到B过程中生命周期的执行顺序。
我当时的回答是:
A:onPause()
A: onStop()
B:onCreate()
B:onStart()
B:onResume()
然后当我,自己写好一个demo后,试验从A跳转到B,才发现它们的生命周期执行如下:
从日志我们可以分析出,从A跳转到B:
先执行了A的onPause()方法,这时A还是可见的,
然后执行B的onCreate(),这时候就创建B的实例,然后启动B后回调了onStart(),然后B可见后回调了onResume()。B可见后说明A不可见了,那么就回调了A的onStop()方法。所以这就是我对上面日志的理解。
面试完后回到家自己试验完后,才发现自己错的离谱,当时恨不得找个缝钻进去。现在已经看淡,自己每天进步一点点就行。
关注微信公众号,即可了解发布的Android相关知识