美文网首页
ios面试8

ios面试8

作者: 紫色冰雨 | 来源:发表于2018-05-27 23:01 被阅读75次

23 、UITableView有哪些优化方式

   1、    提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法;

   2、异步绘制,遇到复杂界面,遇到性能瓶颈时,可能就是突破口;

   3、滑动时按需加载,这个在大量图片展示,网络加载的时候很管用

   4、Cell的复用

   5、尽量少使用或者不用透明的图层

   6、用异步加载数据,缓存请求结果

   7、减少subView的数量

   8、异步刷新

   9、提前注册

24 、请简述iOS中的事件传递机制

点击一个UIView或产生一个触摸事件A,这个触摸事件A会被添加到由UIApplication管理的事件队列中(即,首先接收到事件的是UIApplication)。

UIApplication会从事件对列中取出最前面的事件(此处假设为触摸事件A),把事件A传递给应用程序的主窗口(keyWindow)。

窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件。

事件交由第一响应者对象处理,如果第一响应者不处理,事件被沿着响应链向上传递,交给下一个响应者,直到事件被丢弃

GCD取消

GCD原生并不支持取消操作。

dispatch_suspend函数也只能暂停开启新的未执行的block,已经处于执行中的block是无法暂停的。

但是,通过参考NSOperation的cancel机制,你只要加一个外边变量,用于标记block是否需要取消。然后block中通过及时的检测这个外部变量的状态,当发现需要取消时,停止block中的后续操作,释放资源。就能达到及时取消block的目的。这里有个例子:https://github.com/Tinghui/HUIGCDDispatchAsync

相关文章

  • 阿里腾讯头条美团等iOS面试总结

    阿里iOS面试总结 头条iOS面试总结 腾讯iOS面试总结 百度iOS面试总结 美团iOS面试总结

  • ios面试8

    23 、UITableView有哪些优化方式 1、 提前计算并缓存好高度(布局),因为heightForRowA...

  • iOS最新面试题汇总(四)

    iOS最新面试题汇总:iOS最新面试题汇总(一)iOS最新面试题汇总(二)iOS最新面试题汇总(三)iOS最新面试...

  • iOS最新面试题汇总(三)

    iOS最新面试题汇总:iOS最新面试题汇总(一)iOS最新面试题汇总(二)iOS最新面试题汇总(三)iOS最新面试...

  • iOS最新面试题汇总(一)

    iOS最新面试题汇总:iOS最新面试题汇总(一)iOS最新面试题汇总(二)iOS最新面试题汇总(三)iOS最新面试...

  • iOS最新面试题汇总(二)

    iOS最新面试题汇总:iOS最新面试题汇总(一)iOS最新面试题汇总(二)iOS最新面试题汇总(三)iOS最新面试...

  • iOS面试题

    iOS面试题 iOS面试题

  • 2020年面试

    面试题带答案 2019 iOS 面试题大全(补充完整版)[https://www.jianshu.com/p/d8...

  • iOS技术知识整理

    面试题带答案 2019 iOS 面试题大全(补充完整版)[https://www.jianshu.com/p/d8...

  • iOS 面试题(转载自开源中国)

    面试题 基础篇 面向对象的三大特征 内存管理 Block GCD KVO KVC 推送通知 ⚠iOS7 iOS8差...

网友评论

      本文标题:ios面试8

      本文链接:https://www.haomeiwen.com/subject/sggijftx.html