应用基本原理
Android apps 使用Java编程语言编写。Android SDK 中的编译工具把所有数据、资源文件编译成一个APK:Android包文件,是一个 .apk 后缀的归档文件。一个APK文件中包含Android app所需的所有文件,并且这个APK文件可以被Android设备安装。
当在设备上安装好那一刻起,每个Android app就只能在自己的安全沙盒中运行:
- 在每个app是一个不同的用户这点上来说,Android操作系统是一个多用户的Linux系统
- 默认情况下,系统分配给每个应用一个唯一的用户id(用户ID仅用于系统,对于app是不可见的)。系统给app中所有的文件设置了权限,只有分配了当前的用户id的app才可以访问。
- 每个进程都有属于他们自己的虚拟机( VM),所以app的运行是相对独立的。
- 默认下,每个app在自己的linux进程下运行。当一个应用的组件需要被执行时Android就启动他的进程,