美文网首页
imageNamed: 渲染优化使用

imageNamed: 渲染优化使用

作者: 罂粟之城 | 来源:发表于2019-08-16 13:43 被阅读0次

    [UIImage imageNamed:@"xxx"]在平时的使用中很常见。如设置某些图标,底部Icon或者底部可见视图。

    但是由于 imageNamed: 自身的渲染问题,导致产生了加载时间的延长问题。虽然时间只是 ms级别的,但是在某些情况下或者某种程度上也是会App性能产生影响的。

    相对于直接使用 imageNamed: 加载图片而言使用下面的方法加载图片将会更加的节省效能。

    // 使用线程加载/自动释放池 用法
       dispatch_async(dispatch_get_global_queue(0, 0), ^{
            @autoreleasepool{
                [[UIImage imageNamed:@"订"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
            }
        });
    

    还有一点是对于相应的图片或者Icon是放在 工程目录中还是放在 Assets.xcassetts 中。

    在图片加载时间性能上来说,应该放在 Assets.xcassets 中 。可能是放在系统自动生成的Assets.xcassets目录中系统会自动为资源做出缓存,以便更加高效的加载。

    对于处理某些功能性代码的耗时情况的查看可以使用 Xcode ==> instruments ==> Time Profiler

    或者使用下面的系统获取时间判断也可

    // 直接使用 `CFAbsoluteTime` 获取当前时间
        CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent();
        // 经过时间
        CFAbsoluteTime linkTime = (CFAbsoluteTimeGetCurrent() - startTime);
        NSLog(@"log--输出time:%f ms",linkTime*1000);
    

    相关文章

      网友评论

          本文标题:imageNamed: 渲染优化使用

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