Android平台使用什么libc实现?使用什么 malloc 实现(ptmalloc 或 tcmalloc 或其他)?

有帮助吗?

解决方案

libc 是 仿生 而 malloc 是 道格·李版本 命名的 dlmalloc (启用 USE_LOCKS 以保证线程安全)。

更新:dlmalloc 于 2016 年 1 月被删除: https://github.com/android/platform_bionic/commit/c650447239352d43acc2fd99a8579a85ae0469ab https://sourceforge.net/p/android-x86/bionic/ci/0ac0cee0d1ab60a92103a5021e76ec31da2e3234/ “合并“删除 dlmalloc。””

+libc_malloc_src := bionic/jemalloc_wrapper.cpp
+libc_common_c_includes += external/jemalloc/include

因此,Android 7 使用外部 malloc 实现 jemalloc(来自 FreeBSD/Facebook) - http://jemalloc.net/https://github.com/jemalloc/jemalloc;android 版本的代码有: https://android.googlesource.com/platform/external/jemalloc/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top