• 怎么优化列表使之流畅


    第一,对象创建,对象销毁,对象调整。

    对象创建会消耗内存,cpu等。所以纯代码优势于xib以及sb。

    可以对象创建懒加载,这就是懒汉模式,需要时候创建,不需要不创建,不频繁创建。也是我必问的。

    能缓存到缓存池的就放到缓存池。比如cell重用,就是一个缓存池,对数据的缓存,对cell高度的缓存。

    第二,文本的计算绘制于渲染。

    我在从后台html转成移动端原生东西就遇到这样情况。把html转换属性字符串转换放到后台,并且缓存起来。

    把常用控件属性字符串展示都是在主线程,所以尽量放到后台异步绘制用textkit以及coretext,很多第三方这方面库都是这样,不然cpu使用率会百分之九十九,哈哈是不是醉了。

    第三,图像方面。UIImage的几个方法不能马上解码,一般给到uiimageview等控件时候才会解码,这是在主线程做的,所以要后台异步绘制到CGBitmapContext 中,然后从 Bitmap 直接创建图片。

    第四,视图方面层次较多,以及透明圆角阴影遮照影响性能等。可以后台异步绘制成一张图片来解决,可以参考VVebo微博的思路,他的思路效果很不错,很是流畅。 这里是例子,VVeboTableViewDemo,当时运行跑了下,好流畅。

    第五,预排版对视图的frame bounds 等调整也比一般属性消耗资源多,所以尽量确定了,就不要频繁变化。所以尽量后台提前计算好布局,一次性调整好布局。

  • 相关阅读:
    08 正则表达式
    07 函数&对象
    06 Math&Date&Json
    05 数组&字符串
    04 循环控制
    03 流程控制
    02 数据类型&运算符
    大道至简
    Avg_row_length是怎么计算的?
    理解innodb buffer pool
  • 原文地址:https://www.cnblogs.com/fengmin/p/5319075.html
Copyright © 2020-2023  润新知