随着项目开发接近了尾声,改Bug和性能优化成了工做的重中之重,移动端开发,最注重用户体验,一个丝滑般的应用程序能在用户内心加不少印象分。缓存
一、优化列表的滑动速度性能优化
做为内容创做类的app,里面包含了大量的写做、画做、小说、动态等多种动态高度的样式;列表滑动不卡顿,就成了用户体验的关键问题。网络
1)Autolayout自动布局比直接计算frame消耗更多的CPU资源,因此在肯定内容位置、宽高状况下最好使用frame。app
2)使用线程来处理文本、尺寸计算、图片处理等;避免卡顿主线程;布局
3)对于动态高度的cell,最好能提早计算好,缓存到数据模型中,减小计算高度所浪费的时间;性能
4)滑动过程当中避免重布局。优化
二、减小离屏渲染的使用线程
圆角、阴影、都会触发GPU的离屏渲染,开辟新的屏幕缓冲区,渲染以后,从新切换到当前,这中间须要通过屡次上下文环境的切换,只会浪费更多的GPU资源。图片
三、网络优化ip
1)减小没必要要的API请求次数,对于能本地能直接操做的,就不要去增长额外的请求次数;
如:评论动态、回复评论、发布动态等,这些内容都是本地可直接知道的数据,就无需再评论以后,从新拉取列表数据,再进行reload。
2)尽可能减小视图数量和层次;
对于可复用的view,不少开发者习惯抽取更多view,进行组合套装,这样就增长了,view视图的深度。
四、安装包瘦身
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