性能优化的总结

如果想要对自己的应用进行性能优化的话,可以从以下几个方面入手:

·基本工具(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.权衡渲染方法

你可能感兴趣的:(性能优化的总结)