1,进程沙箱隔离机制
Android应用程序在安装时,被赋予了独特的用户标识 UID,并永久保持;
应用程序及其运行的Dalvik虚拟机运行于独立的Linux进程空间,与UID不同的应用程序隔离。
2,应用程序签名机制
应用程序包(.apk)文件必须被开发者数字签名,同一个开发者可以指定不同的应用程序共享UID,进而运行于同一个进程空间,共享资源。
签名的作用:
1,识别代码的作者
2,监测应用程序是否发生了改变
3,在应用程序之间建立信任,以便于可以安全的共享数据、资源。
签名步骤:Android Studio的build选项中,选择 generate singed apk,然后新建签名或者导入。
3,权限声明机制
四个级别,这里参考上一篇博文中提到的四个权限级别
4,访问控制机制
访问控制机制主要是确保系统文件、用户数据不被非法访问。
5,进程通信机制
6,内存管理机制
基于标准 Linux的低内存管理机制(OOM),设计实现了独特的低内存清理(LMK)机制,将进程按重要性分级、分组,当内存不足时,自动清理最低级别进程所占用的内存空间;同时,引入不同于传统Linux共享内存机制的Android共享内存机制Ashmem,具备清理不再使用共享内存区域的能力。