1、 最近做的工作,什么需求和技术实现?
2、ARC 什么时候生效的?
编译时。(ARC 就是编译时的特征)
3、block 循环引用的本质是什么,怎么解决?
相互持有(循环引用:就是两个对象相互持有,在释放时,相互等待释放,造成死
循环谁都释放不了,从而内存泄露。)
block 和属性是否可以相互持有?
可以,即 block 作为 self 的属性时,又在 block 内部调用了 self 的属性和方法,block 和
self 相互持有,那么两者的引用计数都至少是 1,都不会被释放)
4、属性原子 atomic?
atmoic:原子属性,为系统默认的属性,会为修饰的成员变量的 seer 方法自动加锁
(自旋锁),使得线程安全,但较为消耗资源,效率相对低些。是一种单写多度的多线程
技术,可能出现脏数据。
nonatomic:非原子属性,开发中最常用的属性,不会为修饰的成员变量的 seer 方法加
锁,虽然线程不安全,但效率高
5、说一下图像显示原理, 为什么会有 UI 卡顿、掉帧?