首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Android不使用共享库呢?

为什么Android不使用共享库呢?
EN

Software Engineering用户
提问于 2014-12-04 14:00:32
回答 2查看 4.6K关注 0票数 3

在安卓系统中,如果您在应用程序(如支援图书馆)中使用了一个库,那么库的代码就会在设备上复制到每个使用它的应用程序上。

为什么安卓不能使用linux “共享图书馆”的概念,这样每个应用程序就不必复制库的代码了?

EN

回答 2

Software Engineering用户

发布于 2014-12-04 15:06:33

这在很大程度上归功于安全模型。在Android上,每个应用程序都在自己的筒仓中运行。这与桌面操作系统完全不同,在桌面操作系统中,所有应用程序都可以完全访问所有用户的数据。

如果我们有两个应用程序,A和B,它们都使用共享库。如果他们使用相同的副本,那么应用程序A可能会闯入应用程序B的筒仓--这是不需要的。

正如paulkayuk评论的那样,这也是为了避免由期望共享库的不同版本的应用程序造成的DLL地狱问题。如今,存储成本很低--即使在移动设备上也是如此--因此,避免DLL地狱比节省一点存储空间更重要。

票数 4
EN

Software Engineering用户

发布于 2014-12-04 14:32:26

Android确实有共享库的功能,但使用起来有点麻烦,因此在实践中似乎很少使用。例如,使用Google的应用程序使用此模型。

但是,支持库没有具体使用此工具,因为预计应用程序可能与其特定版本紧密关联,并且共享库系统一次只允许安装一个版本。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/264555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档