Android面试题系列--1

来源:互联网 发布:淘宝买家福利晒图 编辑:程序博客网 时间:2024/06/11 23:05

目录

重点内容

Activity

简介
Activity是Android程序与用户交互的窗口,它需要保持各界面的状态,妥善管理生命周期以及一些跳转逻辑,做很多持久化的事情。底层是由ActivityManager中的方法通过ActivityManagerProxy(以后简称AMP)建立和ActivityManagerNative(AMN)的通信,而AMN是一个抽象类,它会将功能交由它的子类AMS来处理(AMS是系统核心服务,不能直接暴露出去)。

生命周期

启动模式

Service

简介
Service,后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的动作,定义好需要接受的Intent提供同步和异步的接口。

生命周期
01

02

屏幕旋转时的Activity生命周期:
不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;
设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次;
设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。

启动方式
standard:默认模式。每次启动一个Activity都会重新创建一个新的实例,不管实例是否已经存在。被创建的实例的生命周期符合典型的Activity的生命周期。在这种模式下,谁启动了这个Activity,那么这个Activity就运行在启动它的那个Activity所在的栈中。

singleTop:栈顶复用模式。在这种模式下,如果新Activity已经位于任务栈的栈顶(处于完全可见状态),那么此Activity不会被重新创建。但是如果新的Activity不是位于栈顶(处于不完全可见状态),那么新Activity仍然会重新创建。
在singleTop(栈顶复用模式)下,如果Activity位于栈顶,我们再次启动该方法,那么该方法会回调onNewIntent方法,而onCreate、onStart方法不会被调用。

重点内容

Content Provider

简介
是Android提供的第三方应用数据的访问方案,对外提供数据,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用对数据的整合提供了更方便的途径。

BroadcastReceiver

简介
接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型。

原创粉丝点击