掘友等级
获得徽章 8
iOS 中判断一个对象是否是 CF 对象: uint32_t cfinfo = *(uint32_t *)&(((CFRuntimeBase *)cf)->_cfinfo);
if (cfinfo & 0x200000) return; // deallocated, or not a cf object
objc 记录当前堆栈的方式:
void *stack[128];
int count = backtrace(stack, sizeof(stack)/sizeof(stack[0]));
char **sym = backtrace_symbols(stack, count);
for (int i = 0; i < count; i++) {
_objc_inform("POOL HIGHWATER: %s", sym[i]);
}
free(sym);
iOS 17 系统开发者版本更新后,我们 app 的崩溃率飙到了 27% 🐶