Из этой статьи он сказал, что у android есть разное распределение памяти (например, pmem, cmem ..) и будет переключено на ион.Нужна помощь в понимании распределителя памяти Android
http://lwn.net/Articles/480055/
И я смотрел на андроид рамочным кода, я думаю, что распределение структуры памяти осуществляется через MemoryHeapBase класс: http://androidxref.com/4.4.2_r1/xref/frameworks/native/libs/binder/MemoryHeapBase.cpp#43
Но из этого класса, я не вижу, как он выделяет память используя схемы распределения памяти.
Я вижу только это создать общую область:
int fd = ashmem_create_region(name == NULL ? "MemoryHeapBase" : name, size);
ALOGE_IF(fd<0, "error creating ashmem region: %s", strerror(errno));
Можете ли вы сказать мне, где в рамках которой он фактически выделяет память с помощью Pmem? cmem? или ион?
спасибо.
По моему разумению, андроид карты cmem, Pmem ashmem область доступной памяти запрашиваемого процесса и связывает дескриптор файла с отображаемой областью для доступа к памяти. См. [This] (http://androidxref.com/4.1.2/xref/system/core/libcutils/ashmem-dev.c#42) – nmxprime