内存分配器
前言:
内存分配器 CFAllocatorRef 在前面编解码的时候提到过.在了解编解码的过程中有很多的内容不是很清楚...做了一些功课
CFAllocatorRef:
苹果官方解释: The allocator to use to allocate memory for the new string
看得出是为新的string分配内存的一个工具.分配器用来进行内存的分配,释放,重分配.
CFAllocatorRef的数据结构是:
typedef const struct CF_BRIDGED_TYPE(id) __CFAllocator *CFAllocatorRef;
struct __CFAllocator{
CFRuntimeBase _base;
CFAllocatorRef _alloctor;
CFAllocatorContext _context;
}
//CFAllocatorContext 分配器核心:用来自定义内存分配和释放的回调函数
//typedef void *(*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info);
//typedef void (*CFAllocatorDeallocateCallBack)(void *ptr, void *info);
//而CFAllocatorContext的数据结构如下:
typedef struct{
...
CFAllocatorAllocateCallBack allocate