我要投稿 投诉建议

经典android面试题

时间:2021-02-05 10:06:05 面试试题 我要投稿

经典android面试题精选

  1、谈谈Android的IPC(进程间通信)机制

经典android面试题精选

  答:  Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中,android的IPC机制也就是Binder机制,Android系统是基于Linux内核的,而Linux内核继承和兼容了丰富的Unix系统进程间通信(IPC)机制, 但是,Android系统没有采用上述提到的各种进程间通信机制,而是采用Binder机制,Binder是一种进程间通信机制,它是一种类似于COM和CORBA分布式组件架构,通俗一点,其实是提供远程过程调用(RPC)功能。从英文字面上意思看,Binder具有粘结剂的意思,那么它把什么东西粘结在一起呢?在Android系统的Binder机制中,由一系统组件组成,分别是Client、Server、Service Manager和Binder驱动程序,其中Client、Server和Service Manager运行在用户空间,Binder驱动程序运行内核空间。Binder就是一种把这四个组件粘合在一起的粘结剂了,其中,核心组件便是Binder驱动程序了,Service Manager提供了辅助管理的功能,Client和Server正是在Binder驱动和ServiceManager提供的`基础设施上,进行Client-Server之间的通信;

  1. Client、Server和Service Manager实现在用户空间中,Binder驱动程序实现在内核空间中

  2. Binder驱动程序和Service Manager在Android平台中已经实现,开发者只需要在用户空间实现自己的Client和Server

  3.Binder驱动程序提供设备文件/dev/binder与用户空间交互,Client、Server和Service Manager通过open和ioctl文件操作函数与Binder驱动程序进行通信

  4. Client和Server之间的进程间通信通过Binder驱动程序间接实现

  5. Service Manager是一个守护进程,用来管理Server,并向Client提供查询Server接口的能力

  2、apk安装卸载的原理

  答:  APK安装可以通过以下四种方式:

  1. 系统应用安装,开机时完成系统应用的检查,没安装就安装,安装就跳过,无安装界面。

  2. 网络下载应用安装,通过market应用完成,无安装界面。

  3. ADB工具安装,无安装界面

  4. 通过SD卡来安装apk,有安装界面,由packageinstaller.apk应用处理安装及卸载过程的界面。

  应用安装涉及到如下几个目录:

  system/app 系统自带的应用程序,无法删除

  data/app 用户程序安装的目录,有删除权限

  data/data 存放应用程序的数据

  Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下

  (dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

  安装过程:复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。

  卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。

  3、如何做适配

  1)android有H、L、M、X、XX四个不同的文件夹存放不同分辨率的图片,系统会自动加载

  2) 偏移量d的设置可以在values-hpdi,values-mdpi,values-ldpi三种文件夹中的dimens.xml文件进行设置

  值得一提的是:

  40dp

  -14dp

  这里的负数是完全起作用的,系统会认为它是一个负值

  3)各大手机厂商对于Android操作系统都有或多或少的改动,当然这些改动会对我们应用程序产生某些影响

  比如:

  (1)系统源代码中连接music服务的aidl文件所在包名:com.android.music

  (2)LG则可能将该aidl文件修改所在的包(例如修改为 com.android.music.player),并且修改其中的文件内容(增加一个方法,或者减少几个方法,或者修改方法名称)那么我们的应用要想在LG的手机上发布,那么我们就必须改变所要连接的aidl文件,必须跟LG厂商修改的完全一致。

【经典android面试题精选】相关文章:

android面试题及答案精选11-12

最新android面试题及答案11-07

经典情景面试题05-25

求职IBM经典面试题03-28

经典c++面试题06-03

HRM职位经典面试题05-12

财务人员经典面试题10-10

经典面试题和回答思路09-23

经典面试题和答题技巧03-03

银行校招经典面试题03-03