APP查找图片优化

栏目: IOS · 发布时间: 7年前

内容简介:APP本地图片较多,每次查找图片都要消耗24ms左右,导致点击优化前优化后把每个

APP本地图片较多,每次查找图片都要消耗24ms左右,导致点击 tabbar 的时候都要等上七八百ms,有的页面甚至要1s,用 instruments 中的 Time Profiler 工具查找之后发现页面 viewdidload 大部分的时间都花在了查找图片上,所以这次针对查找图片做了初步优化。

APP查找图片优化

优化前:

优化前 tabbar 的点击事件着实比较尴尬,点击的时候卡顿非常明显。

APP查找图片优化

优化后(顺带把didfinishlaunching优化了一下):

优化后把每个 tabbar 对应的 viewController 的初始化速度控制在了100ms之内,点击之后没有明显的卡顿,基本达到预期。

APP查找图片优化

核心代码:

创建一个串行队列,然后异步开启子线程进行耗时操作,最后回到主线程异步更新UI。

+ (void)childThreadOperation:(childThreadOperation)chileThreadOperation mainThreadOperation:(mainThreadOperation)mainThreadOperation{
    dispatch_queue_t queue = dispatch_queue_create("optimizeImageQueue", DISPATCH_QUEUE_SERIAL);
    dispatch_async(queue, ^{
        if(chileThreadOperation){
            chileThreadOperation();
        }
        dispatch_async(dispatch_get_main_queue(), ^{
            if(mainThreadOperation){
                mainThreadOperation();
            }
        });
    });
}
复制代码

附上 github 地址: TFQImageOptimization 使用方法可以参考 viewController 中的伪代码

Time Profiler 使用教程请参考我在简书的文章: iOS 使用Instruments的Time Profiler工具进行app加载时间分析

加载图片请参考我在博客园的文章: 如何获得images.xcassets 中图片的路径?

同步异步问题请参考我在掘金的文章: iOS线程、同步异步、串行并行队列


以上所述就是小编给大家介绍的《APP查找图片优化》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

500 Lines or Less

500 Lines or Less

Amy Brown、Michael DiBernardo / 2016-6-28 / USD 35.00

This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch t......一起来看看 《500 Lines or Less》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具