如果想要对自己的应用进行性能优化的话,可以从以下几个方面入手:
·基本工具(Instruments) ·业务优化 ·内存优化 ·布局优化 ·卡顿优化 ·网络优化 ·电量优化 ·启动优化 ·缩小安装包大小等等。
1.使用ARC管理内存
2.避免使用过于庞大的XIB,如果是简单的View,或者提示框,还是可以用用的,毕竟即拖即所得,可以节省些时间。
3.正确的地方使用reuseIndentifier
4.View的背景颜色尽可能设置为透明
5.不要阻塞主线程
·在ImageViews中调整图片的大小,提前设置好大小,不要在运行中来进行图片的缩放,消耗资源
·选择正确的collection
1) Arrays: 有序数组,使用Index来查找很快,object、insert、delete就很慢
2)Dictionary:存储键值对。key查找就很快
3)Set:存储无序的一组值,使用值来查找快,插入、删除就慢
·打开gzip压缩(当然iOS已经在NSURLConnection中默认支持了gzip,AFNetworking也是如此)
6.重用和延迟加载(懒加载)
·更多的view,意味着更多的渲染,也就是更多的内存和cpu的消耗
·可以模仿UITableview和UICollectionview的操作,不要一次性创建所有的subView,需要的时候再创建,把他们放在可重用的队列中,在滚动发生的时候创建view,避免了不必要的内存分配
7.缓存
·缓存那些,发生改变的可能性小的数据,但是却需要经常读取的东西,比如省市区
·可以缓存图片、服务器响应的数据、计算的结果,比如tableview的行高
8.处理内存警告
·移除缓存、图片、object等
9.有些objects的初始化很慢
· NSDateFormatter和 NSCalendar:通过添加属性或者创建静态变量来实现
10.优化Tableview
·使用Tableview的属性,rowHeight,sectionFooterHeight、sectionheaderHeight来设定高,避免使用delegate
·正确使用reuseIdentifier来重用cells
·避免渐变,图片缩放
·减少subviews的数量
·正确使用数据结构来存储数据(NSUserDefault,NSCoding,SQLite,CoreData)
11.加速启动app的时间
·尽可能多的做异步任务(远端加载数据、数据库数据解析、加载庞大的XIB)
·使用AutoreleasePool
12.选择是否缓存图片
13.避免日期格式的转换
14.正确设定背景图片
15.避免反复处理数据
16.权衡渲染方法
网友评论