Вопрос

Какая реализация libc используется на платформе Android?Какая реализация malloc используется (ptmalloc, tcmalloc или что-нибудь другое)?

Это было полезно?

Решение

libc это Бионический и malloc это Версия Дуга Ли названный dlmalloc (с включенным USE_LOCKS для потокобезопасности).

Обновлять:dlmalloc был удален в январе 2016 года: 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