Android进程和线程模型
来源:互联网 发布:驱动精灵 for mac 编辑:程序博客网 时间:2024/05/28 11:50
参考
http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html.
http://www.cnblogs.com/hanyonglu/archive/2012/04/12/2443262.html
在安装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 来做到。
Dalvik是Android中的java虚拟机,可支持同时运行多个虚拟机实例;每个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例;
所有java类经过java编译器编译,然后通过SDK中的dx工具转成.dex格式交由虚拟机执行。
- android进程和线程模型
- android进程和线程模型
- android进程和线程模型
- android进程和线程模型
- Android 进程和线程模型
- Android 进程和线程模型 .
- Android进程和线程模型
- Android 进程和线程模型
- Android 进程和线程模型
- Android 进程和线程模型 .
- 进程和线程模型(android)
- Android的进程和线程模型分析
- 关于进程、线程和Android的单线程模型UI
- Android的进程,线程模型
- Android的进程,线程模型
- Android的进程,线程模型
- Android的进程,线程模型
- Android的进程,线程模型
- J2EE
- C++中的浅层复制和深层复制
- Web App开发的一些总结
- Catalan数(卡特兰数)
- slab 的 proc 接口
- Android进程和线程模型
- ScrollView中嵌套ListView时显示不全的简便解决方案
- error LNK2001引起的联想
- 静态数据成员
- 主流主板的启动项快捷键
- 如何学习嵌入式系统(基于ARM平台)
- “三门问题”概率的C++程序解释
- 情商其实很复杂
- spring发布包的下载与安装