Activity相关的面试题

今天来看看和Activity相关的面试题,答案都会以实验的形式给大家展示出来。

1.两个Activiyt之间跳转时会执行什么方法?顺序是什么?
我们定义两个Activity,然后重写他们的生命周期方法,然后我们从第一个Activity跳转到第二个,然后看控制台的输出。

然后我们看控制台输出

Activity相关的面试题_第1张图片

结论就是,首先执行到第一个Activity的onPause方法
然后执行到第二个Activity的onResume方法
最后再执行第一个Activity的onStop方法

2.屏幕旋转时Activity的生命周期
(1)不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时再执行一次,总共两次

Activity相关的面试题_第2张图片
(2)设置Activity的android:configChanges=orientation|keyboardHidden|screenSize时,切屏不会调用生命周期方法,只会执行onConfigurationChanged方法,注意,以上三个条件必须全部写上,少写一个都会执行生命周期方法
Activity相关的面试题_第3张图片

3.如何将一个Activity设置成窗口的样式

设置Activity的Theme如下

 android:theme="@android:style/Theme.Dialog"

Activity相关的面试题_第4张图片

然后我们看控制台的输出
Activity相关的面试题_第5张图片

注意,这里不会调用第一个Activity的onStop方法,因为第一个Activiyt仍然是可见的。

你可能感兴趣的:(Activity相关的面试题)