• 【Swift】公司项目性能优化(一)


      随着项目开发接近了尾声,改Bug和性能优化成了工作的重中之重,移动端开发,最注重用户体验,一个丝滑般的应用程序能在用户心里加很多印象分。

      1、优化列表的滑动速度

      作为内容创作类的app,里面包含了大量的写作、画作、小说、动态等多种动态高度的样式;列表滑动不卡顿,就成了用户体验的关键问题。

      1)Autolayout自动布局比直接计算frame消耗更多的CPU资源,所以在确定内容位置、宽高情况下最好使用frame。

      2)使用线程来处理文本、尺寸计算、图片处理等;避免卡顿主线程;

      3)对于动态高度的cell,最好能提前计算好,缓存到数据模型中,减少计算高度所浪费的时间;

      4)滑动过程中避免重布局。

      2、减少离屏渲染的使用

      圆角、阴影、都会触发GPU的离屏渲染,开辟新的屏幕缓冲区,渲染之后,重新切换到当前,这中间需要经过多次上下文环境的切换,只会浪费更多的GPU资源。

      3、网络优化

      1)减少不必要的API请求次数,对于能本地能直接操作的,就不要去增加额外的请求次数;

      如:评论动态、回复评论、发布动态等,这些内容都是本地可直接知道的数据,就无需再评论之后,重新拉取列表数据,再进行reload。

      2)尽量减少视图数量和层次;

      对于可复用的view,很多开发者习惯抽取更多view,进行组合套装,这样就增加了,view视图的深度。

      4、安装包瘦身

      1)减少无用的资源(如:图片、代码等)

      2)编译器优化、Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default设置为YES

      去掉异常支持,Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions

  • 相关阅读:
    实体机可以ping通虚拟机,虚拟机ping不通实体机
    实体机可以ping通虚拟机,虚拟机ping不通实体机
    eclipse快捷键
    eclipse快捷键
    利用信号捕捉函数回收子进程
    进程间通信_信号
    进程间通信_管道
    创建子进程
    系统编程入门
    JPG库移植与使用
  • 原文地址:https://www.cnblogs.com/xjf125/p/14277145.html
Copyright © 2020-2023  润新知