美文网首页
性能优化的总结

性能优化的总结

作者: MM面包 | 来源:发表于2018-03-16 14:57 被阅读5次

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

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

    相关文章

      网友评论

          本文标题:性能优化的总结

          本文链接:https://www.haomeiwen.com/subject/nnwlqftx.html