Android程序是以独立的用户身份运行的吗?

发布于 2021-11-12 00:25:02 字数 288 浏览 788 评论 6

正在阅读《Andoird - 移动开发一本就够》,作者在介绍Android系统的时候,画了一张Android体系结构的图表:每个Android App运行的时候都会创建一个Dalvik虚拟机实例,每一个Dalvik虚拟机实例都是用一个独立的Linux用户账户运行的。

我无法理解的是,为什么要用不同的用户来运行不同的Dalvik虚拟机呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

清晨说ぺ晚安 2021-11-18 14:29:10

不允许A应用去修改B应用,出于安全性考虑吧

可是我不能没有你 2021-11-18 14:23:26

呵呵,就是不同用户间的进程是分离的任务,各自拥有各自的权利和责任,而每个进程都运行在对应用户的虚拟地址空间里,这样,即使有一个用户里的进程发生异常了,其它用户进程也不会受到影响。

牵你的手,一向走下去 2021-11-18 14:05:00

有道理~ 用单独的用户来运行程序可以利用Linux已有的安全机制。

墨洒年华 2021-11-18 14:00:43

如果是用同一个帐号,那么app1生成的数据,app2是可以直接改动的,这会导致数据出问题,例如冲突什么的,没法保证应用级别的安全性。

私藏温柔 2021-11-18 12:56:49

我又修改了一下问题,添加了一个图片,架构很清晰,就是不懂为啥要这样做。

吃颗糖壮壮胆 2021-11-16 21:25:28

是不同用户,进入数据目录ls一下每个程序的文件夹,属主是 app_xx 其中 xx 几乎是递增的。

主要是为了防止应用之间乱来吧,例如你的程序去直接读取或者篡改其他程序的数据

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文