android系统框架--系统服务
2019-9-12 liuyingcong 安卓开发
Android中的每一个应用程序都有自己独立的文件系统,运行在独立的虚拟机里(这个虚拟机是Dalvik VM,谷歌参展JVM改进的虚拟机),开启一个独立的Linux进程。由此可以看出,程序间彼此都是独立的,不能直接通讯,不能直接访问对方的文件系统,谷歌这样设计是为了安全起见。
但是,android中的4大组件,每一种都支持跨进程的访问,它的原理是什么呢?
Android系统开机的时候会启动很多系统服务,我们在代码中可以访问这些系统服务,用getSystemService();这些服务是独立于各个应用程序的,每个应用程序都可以调用,它们也只有一个实例,它们在各个应用程序的上层,可以访问任意的程序的任意组件。我们发送意图访问其他程序的组件时,其实是发给这个系统服务,让系统服务代理我们去访问这些组件。