malloc和dlmalloc之间的区别

时间:2012-07-09 01:03:54

标签: android memory-management dalvik

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

1 个答案:

答案 0 :(得分:14)

高阶位是Dalvik需要一个与默认的malloc管理堆分开的底层分配器,因此它可以对分配的发生方式进行正确的控制,因为知道其他子系统不会干扰

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

至于dlmalloc和malloc之间的详细差异:dlmalloc是传统libc malloc API的特定实现,而“malloc”本身并不特定于特定实现。但即使你有具体的说法,我也怀疑除了“阅读代码”之外我还能提出更多建议。