基本上每次面试在这些面试中Android四大组件基本上必问,并且也会问一些细节性的问题,如果四大组件的问题不能对答如流,就让面试官感觉基础不太扎实,导致面试失败。
Android不仅是面试中很重要,在我们日常使用也很重要。
四大组件概念
面试中经常问到四大组件分别是什么,其实就是问的四大组件的概念与作用。
- Activity
activity通常就代表手机中屏幕中能够与用户交互的一些界面,一个Activity可以称为一个屏幕,并且在我们日常开发中使用Activity最多。 - Server
server是没有界面、生命周期比较长的程序,一般用来监控类的程序。 - ContentProvider
内容提供者,用于数据共享,让一个应用程序指定数据集提供给其他应用程序。 - Broadcast
广播,主要应用在程序之间传输信息的机制
Activity
一.activity生命周期面试题
1.activity生命周期都有哪些?每个生命周期都负责什么?
onCreate:不可见状态。第一次创建时调用,创建视图,
并且能传递该Activity的上一个状态的Bundle参数。
onStart:可见状态,可以显示Activity界面,但此时不能与用户交互。
onResume:可见状态,当前界面可以进行交互。
onPause:可见状态,此时activity正在停止,接下来会调用onStop。
在onPause中可以进行一些数据存储、动画停止、资源回收等。
onStop:不可见状态,当前activity停止或者被完全覆盖,当前activity不可见,运行在后台。
可以做一些资源释放的操作,不能做太耗时的操作。
onRestart:在activity重新启动时调用,由不可见状态变为可见状态。
一般打开一个新的Activity在返回之前的activity,旧的activity会调用该生命周期。
onDestory:activity销毁。一般可以做一些回收工作和最终资源释放。
2.activity各种场景下生命周期调用面试题
正常启动:onCreat->onStart->onResume
正常退出:onPause->onStop->onDestory
横竖屏切换:
①在Manifest.xml没有设置android:configChanges属性
启动:onCreat->onStart->onResume
切换横屏:onSavedInstance->onPause->onStop->onDestory->onCreate->
onStart->onRestoreInstanceState->onResume
从横屏切换成竖屏:onSavedInstance->onPause->onStop->onDestory->
onCreate->onStart->onRestoreInstanceState->onResume->
onSavedInstance->onPause->onStop->onDestory->
onCreate->onStart->onRestoreInstanceState->onResume(会重新创建两次)
②在Manifest.xml中设置了android:configChanges=“orientation”属性
启动:onCreate->onStart->onResume
切换横竖屏:onSavedInstanceState->onPause->onStop->onDestory->
onCreate->onStart->onRe