资讯详情

Android面试题收集

1.静态和动态广播的区别?

:静态广播的生存期可以比动态广播长很多,因为很多静态广播都是用来监控系统时间的,我们可以监控手机的启动。动态广播将伴随context终止

:动态广播的优先级高于静态广播

:不需要动态广播AndroidManifest.xml可直接使用中声明(使用)receiver注册),即动态;静态广播需要,有时需要AndroidManifest.xml加上一些权限声明。静态注册是指程序关闭后,如果有广播,程序可以启动。动态注册的生命周期与程序的生命周期相同。程序关闭后,动态注册接收广播

:在Android在广播机制中,动态注册的优先级高于静态注册,必要时需要动态注册广播接收器。

:动态注册广播接收器的另一个优点是用于注册广播Activity关闭后,广播失败,反映了静态注册广播的一个优势,即无需担心广播接收器是否关闭,只要设备打开,广播接收器就可以接收。

2.一个应用程序能有多个过程吗?

在AndroidManifest.xml声明中增加了四个组件的标签"android:process"属性即可,process分为私有过程和全局过程。私有过程的名称前面有冒号,没有全局过程

 <activity android:name=".OtherProcessActivity"             android:process=":other">  </activity>

私有过程:其他应用组件不能与其在同一过程中运行 通过整体过程:其他应用可以通过shareUID方法和它在同一个过程中运行(相同shareUID和签名) ShareUID:在Android里,每个app只有一个linux user ID,因此,将权限设置为应用程序的文件只能由用户和应用程序本身看到。假如让两个app使用相同的userID,不管是否在同一个过程中,他们都可以看到对方的文件,比如data目录、组件信息等。在同一过程中,内存数据也可以共享。

3.两个service同进程和不同进程aidl有什么区别? 4.mqtt和http的区别?

MQTT

MQTT该协议是为大量计算能力有限、工作在低带宽、不可靠网络上的远程传感器和控制设备通信而设计的,具有以下主要特点:

  1. 使用,提供发布消息,解除应用程序耦合;
  2. 屏蔽负载内容的消息传输;
  3. 使用 TCP/IP 提供网络连接;
  4. 发布服务质量有三种新闻:
    1. 最多一次的消息发布完全依赖于底层 TCP/IP 互联网。消息会丢失或重复。这个级别可以用于以下情况环境传感器数据丢失一次读取记录并不重要,因为很快就会有第二次发送。
    2. 至少一次确保信息到达,但可能会重复。
    3. 只有一次,以确保信息达到一次。此级别可用于以下情况。在计费系统中,重复或丢失消息会导致错误的结果。

HTTP

HTTP基于应用层TCP/IP通信协议传输数据(HTML 文件, 图片文件, 查询结果等)。

通信方式

  • 浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器。Web根据收到的请求,服务器将其发送到客户端
  • HTTP之请求消息:请求行(request line)、请求头部(header)、由空行和请求数据四部分组成。
  • HTTP之响应消息:HTTP响应也由状态线、新闻报头、空行和响应文本四部分组成。
  • 若connection 模式为close,则服务器会主动关闭TCP连接,客户端被动关闭,释放TCP连接;若connection 模式为keepalive,连接将持续一段时间,请求可以在此期间继续接收;

5.fragment和activity怎么通讯? 6.layout优化方法?

1.线程的状态是什么如何转换? 2.Android线程之间的交互方式是什么? 3.service主线程能否启动,主线程如何启动,其他线程如何启动? 4.多屏幕适配方法? 5.进程间的通信方式有哪些? 6.为什么不能更新子线程?View?

1.Handler postDelay它是如何实现的? 2.MessageQueue数据结构是什么? 3.广播如何实现多流程通信? 4.单例模式volatile的作用? 5.onMeasure什么时候需要重写? 6.mvvm如何在xml加载一个类? 7.Android如何加载系统?Launcher? 8.Activity显示启动和隐式启动的区别? 9.自定义View的方法? 10.Android事件分发机制? 11.Glide原理? 12.Glide若改变策略?

标签: 连接器主线

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台