iOS面试题,性能优化篇!

本文详细探讨了iOS应用性能优化,包括tableView卡顿的原因和解决方案,提高tableview流畅度的方法,APP启动时间优化,降低APP包大小的策略,检测和避免离屏渲染,检测图层混合,以及内存泄露的检查。内容涵盖了CPU和GPU层面的性能优化,预排版、预渲染和异步处理等技巧,以及启动时间优化和包大小压缩的实践建议。
摘要由CSDN通过智能技术生成

1.形成tableView卡顿的缘由有哪些?

  • 1.最经常使用的就是cell的重用, 注册重用标识符

    若是不重用cell时,每当一个cell显示到屏幕上时,就会从新建立一个新的cellhtml

    若是有不少数据的时候,就会堆积不少cell。ios

    若是重用cell,为cell建立一个ID,每当须要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,若是没有再从新建立cellc++

  • 2.避免cell的从新布局

    cell的布局填充等操做 比较耗时,通常建立时就布局好面试

    如能够将cell单独放到一个自定义类,初始化时就布局好swift

  • 3.提早计算并缓存cell的属性及内容

    当咱们建立cell的数据源方法时,编译器并非先建立cell 再定cell的高度xcode

    而是先根据内容一次肯定每个cell的高度,高度肯定后,再建立要显示的cell,滚动时,每当cell进入凭虚都会计算高度,提早估算高度告诉编译器,编译器知道高度后,紧接着就会建立cell,这时再调用高度的具体计算方法,这样能够方式浪费时间去计算显示之外的cell缓存

  • 4.减小cell中控件的数量

    尽可能使cell得布局大体相同,不一样风格的cell可使用不用的重用标识符,初始化时添加控件,网络

    不适用的能够先隐藏数据结构

  • 5.不要使用ClearColor,无背景色,透明度也不要设置为0

    渲染耗时比较长多线程

  • 6.使用局部更新

    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值