iOS-内存管理

2020-03-13  本文已影响0人  e297b14c9e53

面试题

定时器

CADisplayLink、NSTimer使用注意

CADisplayLink、NSTimer会对target产生强引用,如果target又对它们产生强引用,那么就会引发循环引用
解决方案:

GCD定时器

NSTimer依赖于RunLoop,如果RunLoop的任务过于繁重,可能会导致NSTimer不准时
而GCD的定时器会更加准时


内存布局

iOS程序的内存布局
Tagged Pointer
判断是否为Tagged Pointer

面试题

思考以下2段代码能发生什么事?有什么区别?


对象的内存管理

OC对象的内存管理
copy和mutableCopy
引用计数的存储
dealloc

当一个对象要释放时,会自动调用dealloc,接下的调用轨迹是

自动释放池

自动释放池
AutoreleasePoolPage的结构
Runloop和Autorelease

iOS在主线程的Runloop中注册了2个Observer

上一篇 下一篇

猜你喜欢

热点阅读