Android 进程和线程模型

发表于:2012-10-08 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:sunboy_2050    来源:51Testing软件测试网采编

  Android进程模型

  在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户ID,并设置相应的权限,这样其它应用程序就不能访问此应用程序所拥有的数据和资源了。

  在 Linux 中,一个用户ID 识别一个给定用户;在 Android 上,一个用户ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户ID 保持不变。

  默认情况下,每个apk运行在它自己的Linux进程中。当需要执行应用程序中的代码时,Android会启动一个jvm,即一个新的进程来执行,因此不同的apk运行在相互隔离的环境中。

  下图显示了:两个 Android 应用程序,各自在其自己的基本沙箱或进程上,他们是不同的Linux user ID。

  开发者也可以给两个应用程序分配相同的linux用户id,这样他们就能访问对方所拥有的资源。

  为了保留系统资源,拥有相同用户id的应用程序可以运行在同一个进程中,共享同一个jvm。

  如下图,显示了两个 Android 应用程序,运行在同一进程上。

  不同的应用程序可以运行在相同的进程中。要实现这个功能,首先必须使用相同的私钥签署这些应用程序,然后必须使用 manifest 文件给它们分配相同的 Linux 用户 ID,这通过用相同的值/名定义 manifest 属性 android:sharedUserId 来做到。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号