使用内存映射在Android中跨进程共享内存

问题描述 投票:0回答:1

在浏览内存管理的android文档时,我遇到了Sharing memory across processes的这个特殊部分。

我无法理解第二点:

大多数静态数据都被映射到一个进程中。该技术允许在进程之间共享数据,并且还允许在需要时将其分页。示例静态数据包括:Dalvik代码(通过将其置于预先链接的.odex文件中进行直接mmapping),app资源(通过将资源表设计为可以mmap的结构并通过对齐APK的zip条目)和传统的项目元素,如.so文件中的本机代码

我明白mmapping是什么。在这一点上提到的事情是该应用程序的dalvik代码,应用程序资源:为什么这些应用程序将与其他应用程序共享?

有人可以举个例子,这个陈述有意义吗?

android android-memory
1个回答
1
投票

Dalvik代码是您的应用程序的代码。此代码是静态的,永远不会更改。此外,资源可以在进程之间共享,因为它们也是静态的,永远不会更改。一个应用程序可以在不同的OS进程中运行不同的组件。在这种情况下,共享所有应用程序代码和资源可以节省实际内存。

© www.soinside.com 2019 - 2024. All rights reserved.