ARC只会管理OC里边的内存,如果在OC里边用C语言开辟内存的话,就需要手动释放内存了。
下面都是自己总结,仅供参考
函数名包含 create 、 alloc 、 copy
等字眼的C语言函数都需要手动释放内存
eg:
/*
生成guid
*/
NSString* generateGUID()
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
NSString *UUID = (__bridge NSString *)string;
CFRelease(theUUID);
CFRelease(string);
return UUID;
}
CFUUIDCreate() CFUUIDCreateString() 这些方法创建出来的对象都需要调用函数CFRelease()手动释放CFRelease。
网友评论