GCD优化Tableview列表大图卡顿实用方法

2023-05-16

        NSString * filepath=xxxxx;

        if ([[NSFileManager defaultManager]fileExistsAtPath:filepath]) {

            //异步加载图片

            dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

            dispatch_async(queue, ^{

                UIImage * img=[UIImage imageWithContentsOfFile:filepath];

                dispatch_sync(dispatch_get_main_queue(), ^{

                    self.bgImageView.image=img;

                });

            });

        }else{

            [self.bgImageView sd_setImageWithURL:[NSURL URLWithString:imageUrlstr] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

                // 判断本地图片是否存在 不存在写入本地

                NSString *typePath=[[ShareMethod appRootPath] stringByAppendingPathComponent:FangAnBrowseFolder];

                [FileFunction createFolderAtPath:typePath folderName:solationID];

                //异步保存图片

                dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);

                dispatch_async(queue, ^{

                    BOOL issuc = [UIImagePNGRepresentation(image) writeToFile:filepath atomically:YES];

                    NSLog(@"issuc==%d",issuc);

                    dispatch_sync(dispatch_get_main_queue(), ^{

                    });

                });

            }];

        }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GCD优化Tableview列表大图卡顿实用方法 的相关文章

随机推荐

  • 提示:The word is not correctly spelled 解决方法

    分析 xff1a The word is not correctly spelled 该问题由Eclipse的单词拼写校验造成 xff0c 一般出在配置文件中 xff0c 会影响程序正常执行 解决 xff1a 在Eclipse下依次点击Wi
  • 正确使用和保存deconfig的流程:

    正确使用和保存deconfig的流程 xff1a 1 要修改在arch arm configs下的文件xxx defconfig 2 make ARCH 61 arm64 xxx defconfig 会生成 config文件 3 make
  • Ubuntu安装Brave浏览器

    sudo curl x 34 http 127 0 0 1 8889 34 fsSLo usr share keyrings brave browser archive keyring gpg https brave browser apt
  • Android O HIDL框架

    HIDL简介 Android O开始 xff0c Google为了将framework和HAL层分割开来 xff0c 使得framework可以独立于HAL层更新 xff0c 设计了HIDL 有了HIDL xff0c HAL模块可以以一个独
  • Xfce 安装主题

    一 主题种类 xff08 一 xff09 gtk主题 窗口内的按钮和文本 xff0c 要在 外观 中的 样式 标签页设置 1 主题文件位置 xff1a 用户目录下 local share themes或者 themes xff0c 系统目录
  • Linux更改键位映射

    linux使用xmodmap管理键位映射 一 xmodmap xff08 一 xff09 语法格式 xmodmap 选项 filename xff08 二 xff09 选项 display host dpy X server to use
  • MySQL 建表 技巧

    1 create time 自动填写创建日期 xff0c update time 数据更新之后自动更新时间 使用DDL语句创建 CREATE TABLE 96 production info 96 96 id 96 int NOT NULL
  • Android 连接MySQL 并打包

    1 代码配置 2 打包选项配置 xff0c 一定是mono 43 net 4 x
  • HybridCLR 实战篇

    HybridCLR 实战篇 HybridCLR 是MIT开源的一个unity热更新打包方案 xff0c 该插件不像LUA和ILRuntime那样复杂 官方文档 xff1a https focus creative games github
  • Intellij IDEA中的撤销和回复撤销快捷键

    Intellij IDEA中 1 Ctrl 43 z是撤销快捷键 2 如果想恢复Ctrl 43 z 掉的内容 xff0c 按快捷键为 xff1a Ctrl 43 Shift 43 Z
  • linux zip文件解压命令详解

    文章转自 xff1a http www cnblogs com wangkongming p 4305962 html 1 把 home目录下面的mydata目录压缩为mydata zip zip r mydata zip mydata 压
  • mouse without borders win7安装不了

    mouse without borders 在win7安装的时候提示 Your computer span class hljs keyword has span span class hljs keyword not span been
  • 如何将git branch 和 commit id打印到内核log中?

    问题提出 xff1a 多项目多分支的开发模式中 xff0c 为了方便定位问题 xff0c 往往需要确认当前的问题日志对应的是哪个分支 xff0c 哪个提交 为了解决这个问题我们需要有一种方便的手段 解决方案 xff1a 首先想象的是是把gi
  • linux按进程名杀进程

    pkill 进程名 或是 killall 进程名 1 kill 9 ps ef grep 进程名关键字 gawk 0 grep print 2 tr s n 39 这个是利用管道和替换将 进程名对应的进程号提出来作为kill的参数 很显然上
  • IntelliJ IDEA中工具栏,功能区的显示和关闭

    点击 view xff0c 点击toolbar 显示工具栏 xff0c tool buttons 功能区tab 官人打赏 xff1a http blog csdn net assassinsshadow article details 76
  • chrome 删除厌烦的桔梗导航

    最近突然出现了让人非常厌恶的桔梗导航 xff0c 楼主找了写办法 xff0c 解决了这个bug xff08 程序员的骄傲 xff0c 虽然网上可能有人已经搞好了 xff09 我的系统是win10 1 开始菜单中找到chrome并打开文件位置
  • jetbrans rider 格式化代码时,{}不换行

    因为之前是写JAVA的 xff0c 所以对代码的格式优点洁癖 我希望看到的代码格式是这样的 span class hljs keyword private span span class hljs keyword void span spa
  • unity 设置物体不能被穿透

    墙壁box collider Is Trigger不勾选 cube xff0c rigidbody collision detection 设置为continuous dynamic
  • Docker实践笔记6:PHP容器制作

    容器介绍 此容器包含 PHP 7 3 和Nginx1 18环境 xff0c 用户可以自己使用Makefile 一键编译安装PHP环境 xff0c 也可以直接使用制作好的镜像运行项目 容器源码下载 git clone https github
  • GCD优化Tableview列表大图卡顿实用方法

    NSString filepath 61 xxxxx if NSFileManager defaultManager fileExistsAtPath filepath 异步加载图片 dispatch queue t queue 61 di