android API 之应用程序的基本原理

关键字:

isolation  隔离

Fundamentals 基本原理‘

sandbox 沙箱

安卓应用程序使用JAVA语言编写,使用Android SDK工具编译你的代码,并将数据与资源文件打包成能够在Android操作系统上安装的压缩包apk。应用程序一旦在系统上安卓成功,便运行在一个安全的并且属于自己的的沙箱中。安卓操作系统是一个多用户的linux系统,在这个系统中,一个APP对应一个不同的用户。

  • 默认情况下,系统给每个app指定分配一个独一无二的linux用户ID(这个ID只能够使用在这个系统中,并且对应用程序来说是未知的)。系统设置权限给应用程序中的所有文件,所以只有用户ID被分配给应用程序时才,程度才能访问这些文件。
  • 每个进程都拥有自己的VM虚拟机,所以每个应用程序都与其它远程应用程序隔离的。
  • 默认情况下,每个应用程序运行在自己的Linux进程中,当应用程序中的组件需要被执行的时候,安卓才去开启这个进程.当他们不再需要运行了,或者当其他应用程序需要内存的时候,进程才会被杀死。

如此,安卓系统实现了最小权限的原则。因此,每个应用程序在默认的情况除了能够让组件工作外,没有其他权限。应用没有权限的情况下无法访问系统部分,从而创建了一个非常安全的运行环境。

然而,以下几个方法可提供应用程序共享数据,以及访问系统的服务

  • 可提供给两个应用程序相同的linux用户ID,如此,它们可以相互访问对方的文件。为了能够与系统资源交互,应用程序可以提供他们相同的用户ID,如此可以运行在相同的LINUX进程中,并且可以分享相同的虚拟机。
  • 应用程序可以请求权限去访问设备的数据,例如使用者的联系人信息、短信信息、SD卡,照相机、蓝牙等等,所有程序的权限必须在用户安装应用程序的时候授予。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值