Android malloc和dlmalloc之间的区别

Android malloc和dlmalloc之间的区别,android,memory-management,dalvik,Android,Memory Management,Dalvik,为了在dalvik堆中分配内存区域,应用程序使用dlmalloc,而不是普通的malloc,使用dlmalloc的原因以及它与malloc的区别。(据我所知,为了在创建dalvik VM时分配dalvik堆,使用了malloc。)高阶位是dalvik需要有一个独立于默认malloc管理堆的底层分配器,以便它能够正确控制分配的发生方式,知道其他子系统不会干扰 事实证明,dlmalloc是一个相当成熟的现有库,它提供了我们需要的隔离和挂钩。我们的意图(直到我离开团队时)是,最终我们会用更定制的东西来

为了在dalvik堆中分配内存区域,应用程序使用dlmalloc,而不是普通的malloc,使用dlmalloc的原因以及它与malloc的区别。(据我所知,为了在创建dalvik VM时分配dalvik堆,使用了malloc。)

高阶位是dalvik需要有一个独立于默认malloc管理堆的底层分配器,以便它能够正确控制分配的发生方式,知道其他子系统不会干扰

事实证明,dlmalloc是一个相当成熟的现有库,它提供了我们需要的隔离和挂钩。我们的意图(直到我离开团队时)是,最终我们会用更定制的东西来取代它,但这从来没有成为一个足够紧迫的问题来采取这种特殊的措施


至于dlmalloc和malloc之间的详细区别:dlmalloc是传统libc-mallocapi的特定实现,而“malloc”本身并不特定于特定实现。但是,即使你说得很具体,我也怀疑我能提出的建议不仅仅是“阅读代码”而已。

你读过关于dlmalloc的章节吗?很好的回答,想知道你是否可以澄清一点——dlmalloc是否在安卓上用作malloc,在每个进程中为普通使用和dalvik维护单独的池,或者dalvik使用dlmalloc,而其他malloc调用(在jni库或其他任何地方)最终使用其他东西?