ios 面试部分整理

assign weak区别  assign不是有崩溃的风险么  strong和copy   对非容器类可变类型  非容器类不可变   容器类可变容器类不可变 进行深拷贝浅拷贝有什么区别    什么样的对象能够进行拷贝  就是这个NScoding协议那个  dealloc的内部实现  内存管理那部分   什么好比 先去执行 NSObject的dealloc 而后会执行OBJC_rootdealloc 而后执行Objc_dispose和oBjc_CXXdestructInstance   autorelease内部原理   何时释放
个人电脑  14:49:52
autorelaesepool和runloop的联系要搞清楚   还有autoreleasepool 底层的实现 就是那个page结构的双向链表  多线程
个人电脑  14:58:47
atomic和nonatomic   aotmic是绝对安全吗 不是  为何不是 何时不安全 只是保证你指针的 读写顺序 是有序的    可是有可能第一个读取的没完事 第二读取的改了 读取内存须要 cpu轮训片去扫内容
个人电脑  15:00:23
timer和runloop的关系
个人电脑  15:07:46
这个你要答 kvo的原理就是当你对对象首次观察时 系统会在运行时动态的建立该类的派生类 在这个派生类里重写被观察对象的setter方法  同时派生类会重写class方法 以欺骗外部调用者 而后系统将这个对象的isa指针指向派生类
个人电脑  15:24:52
runtime的消息流程
个人电脑  15:29:53
cell列表优化  1正确使用复用id  2 少用透明层 由于透明层涉及到透明的颜色色值计算 3 少用渐变 图片缩放 4 使用shadowpath绘制阴影 而不是coreanimagtion 5 复用行高不要每次都计算 能够使用 rowheight  sectionheight这个属性
北京-优优  15:26:32
赋值给tableview 而不是每次都去调代理  每一个线程都有一个runloop 没有线程没有runloop 只有主线程的runloop默认启动  首先cpu上的优化,建立和删除 能够放在子线程,节约线程资源 而后 GPU上减小图层混合,减小离屏渲染,重用cell,缓存高度,减小控件html

 

http://www.cocoachina.com/ios/20150610/12093.htmlios

https://www.jianshu.com/p/a93375df8547缓存

https://www.jianshu.com/p/422d58cc6eea安全

相关文章
相关标签/搜索