ZCMUCZX的博客

学习的脚步

Masonry中的mas_makeConstraints方法

一、简单介绍我们一般来说会这样进行使用 [view mas_makeConstraints:^(MASConstraintMaker *make) { //这个使用的就是MASCompositeConstraint类型的 make.left.top.width.hei...

2018-04-12 10:10:54

阅读数:1701

评论数:0

SDWebImage关于diskImageDataBySearchingAllPathsForKey方法需要去删除扩展名去寻找的问题

一、简单介绍最近在看SDWebImage的源码的时候发现了在- (nullable NSData *)diskImageDataBySearchingAllPathsForKey:(nullable NSString *)key 方法中如果我们带有扩展名的key找不到图片的话,就去使用删除扩展名的...

2018-04-08 10:06:20

阅读数:95

评论数:0

苹果官方文档压缩图像的方法

一、简单介绍 苹果的官方文档有一个代码演示了一种支持在有限的内存环境中显示超大图像的方法,方法是将磁盘上的大图像转换为内存中较小的图像。这在原始图像太大而无法按照要显示的要求放入内存的情况下很有用。支持的格式是:PNG,TIFF,JPEG。不支持的格式:GIF,BMP,隔行扫描图像。——[...

2018-03-16 17:31:48

阅读数:98

评论数:0

SDWebImage中的SDImageCache、SDImageCacheConfig

一、概念介绍SDWebImageCache是SDWebImage中的一个缓存类,是拿来缓存数据的,在SDWebImage中分为缓存数据到磁盘以及内存,下面就简单的介绍下它们头文件的内容,其实它们的头文件的内容就是给我们在外面可以自定义去设置的,可以去调用头文件的方法,本身就是这个框架对外的接口,所...

2018-03-11 11:30:33

阅读数:341

评论数:0

SDWebImage-解码、压缩图像

一、简单介绍研究了下SDWebImage的源码,借鉴了别人的一些资料,感觉逐渐的明白的一些原理,现在就来记录下。在我们使用 UIImage 的时候,创建的图片通常不会直接加载到内存,而是在渲染的时候默认在主线程上再进行解码并加载到内存。这就会导致 UIImage 在渲染的时候效率上不是那么高效。为...

2018-03-10 11:58:36

阅读数:899

评论数:0

SDWebImage-存储图片到磁盘和内存过程

其实在SDWebImage中有一个方法就可以把图片缓存到内存中和磁盘中,还是一样的套路,一个长方法,关于这个函数其实不难代码注解写在里面,可供观看。- (void)storeImage:(nullable UIImage *)image          imageData:(nullable N...

2018-03-09 12:27:57

阅读数:928

评论数:0

SDWebImage中UIImageView调用sd_setImageWithURL过程

最近都在研究SDWebImage,也想看看实现,在这边就总结一下关于调用sd_setImageWithURL过程,我觉得在github上面的官网的时序图是要看的,虽然过程有所简化,但其实还是有学习的地方。下面就用代码图片来描述这整个过程已经进入到了UIView的分类中了之后就是先去查缓存再进入qu...

2018-03-07 23:50:28

阅读数:423

评论数:0

SDWebImagePrefetcher中的只读属性manager

最近在看SDWebImage源码的时候,偶然发现在SDWebImagePrefetcher中有一个属性是SDWebImageManager *manager,在其的.h文件中是只读的,如下所述而在其内部就是可读可写的属性这就很好的解决了在外部我们不允许修改,在内部我们可以任意进行修改的问题了。如果...

2018-03-06 19:51:22

阅读数:49

评论数:0

AFNetworking中的url_session_manager_create_task_safely

对于url_session_manager_create_task_safely这个有什么用?其实这个是被当做是一个在ios8以下,NSURLSessionDataTask出现的一个Bug。问题产生的原因就是当队列是并发的,这是当两个任务同时在不同的线程上创建任务的时候taskIdentifier...

2018-02-28 14:13:36

阅读数:144

评论数:0

Masonry浅析

首先我们可以先写下最常用的代码 [btn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.equalTo(@10);         make.right.bottom.equalTo(@1...

2017-12-26 06:58:03

阅读数:122

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭