美文网首页
关于表格优化的小知识点

关于表格优化的小知识点

作者: jasonLoving | 来源:发表于2017-01-12 16:41 被阅读0次

       在开发中图片样式会遇到圆型,此时的做法有两种第一种直接调用系统的imageView的layer属性:imageView.layer.cornerRadius 设置它的值等于imageView的一半.但是这样做放在表格中十分消耗性能,所以不考虑,另外一种方法那就是绘制图片,代码如下:

-(UIImage *)dd_imageWithSize:(CGSize)size fillColor:(UIColor *)fillColor{

//开启上下文

UIGraphicsBeginImageContextWithOptions(size, YES, 0);

CGRect rect = CGRectMake(0, 0, size.width, size.height);

[fillColor setFill];

UIRectFill(rect);

//贝塞尔曲线

UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];

[path addClip];

//绘制图像

[self drawInRect:rect];

//取得结果

UIImage *result = UIGraphicsGetImageFromCurrentImageContext();

//关闭上下文

UIGraphicsEndPDFContext();

//返回结果

return result ;

}

通过模拟器的混合模式测试,图片性能OK,但是我们还需要考虑到CPU运行时间,通过在方法里面的第一步和最后一步调用方法CACurrentMediaTime(),得到方法的前后运行时间

我们可以算出时间为0.026178秒,此时我考虑优化,用多线程异步回调的方法代码如下:

-(void)dd_imageWithSize:(CGSize)size fillColor:(UIColor *)fillColor completeBlock:(void(^)(UIImage *))completeBlock{

NSTimeInterval start = CACurrentMediaTime();

dispatch_async(dispatch_get_global_queue(0, 0), ^{

//开启上下文

UIGraphicsBeginImageContextWithOptions(size, YES, 0);

CGRect rect = CGRectMake(0, 0, size.width, size.height);

[fillColor setFill];

UIRectFill(rect);

//贝塞尔曲线

UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:rect];

[path addClip];

//绘制图像

[self drawInRect:rect];

//取得结果

UIImage *result = UIGraphicsGetImageFromCurrentImageContext();

//关闭上下文

UIGraphicsEndPDFContext();

//回到主线程

dispatch_async(dispatch_get_main_queue(), ^{

if (completeBlock !=nil) {

completeBlock(result);

}

});

});

NSLog(@"%f",CACurrentMediaTime()-start);

}

通过异步全局,完成图片处理代码,再把图片处理结果的Block回调,放在异步主队列中.通过测试方法执行的秒数为0.000045秒.

相关文章

  • 关于表格优化的小知识点

    在开发中图片样式会遇到圆型,此时的做法有两种第一种直接调用系统的imageView的layer属性:imag...

  • Android性能优化--内存优化

    1.前言 上一篇文章关于Android性能优化--启动优化探讨了启动优化相关的知识点,在本篇将介绍内存优化的相关优...

  • Vue - Table表格渲染

    Vue - Table表格渲染上千数据优化 Vue - Table表格渲染上千数据优化 8 个月前 · 来自专栏 ...

  • 三、bootstrap表格,按钮,图片

    知识点: 1、表格2、按钮3、图片 1、表格 2、按钮 3、图片

  • 关于表格排序的小实例

    今天在公司项目中用到了表格排序,当时还上网搜了一下后续想了一会才做出来,现贴一下代码: 在实例里定义orderTy...

  • 关于表格性能优化---缓存行高

    看到一个关于swift4.0写的项目,我下载下来,发现他的的tableview上面的数据处理比较low,整理一下,...

  • HTML:表格实现

    作业内容 说明以下表格是如何实现的: 知识点:HTML 表格 表格标签 合并属性 边框属性 思路 如图实现思路: ...

  • 小技能优化知识点

    一、android不用静态变量存储数据 原因:静态变量等数据由于进程已经被杀死而被初始化 如果需要传输数据请使用:...

  • 关于Web缓存的方方面面

    关于Web缓存的知识点总结 因为才写了关于响应式瀑布流懒加载的插件,做了简单的优化,但是发现,实用性并不强,不过对...

  • 2019-03-01.24(大数据量性能优化)

    大数据量性能优化: 1 . 列表优化 大型表单优化 表格优化 我们在修改数据的时候,视图就会有响应的变化,视图会去...

网友评论

      本文标题:关于表格优化的小知识点

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