iOS源码解读iOS进阶指南

对于微博和微信原生分享的一点咨询

2016-08-19  本文已影响37人  无神

关于微博和微信的登录和分享现在已经有很多第三方的成熟的框架可以使用,比如友盟,但是有很多公司不希望数据流入第三方平台,要求使用使用微信和微博原生的登录和分享。我们使用的过程中,或多或少的还是会存在一些问题,我在封装的时候就遇到了一个图片加载的问题。

美丽的海边.jpg

代码如下:

+ (NSData *)loadImageDataWithImageUrl:(NSString *)urlString { 
    
    NSURL *url = [NSURL URLWithString:urlString];
    SDImageCache *imageCache = [SDImageCache sharedImageCache];
    UIImage *image = nil;
    NSData *imageData = nil;
    //有缓存,从缓存中去图片 
    if ([imageCache imageFromMemoryCacheForKey:urlString]) {  
        
        image = [imageCache imageFromMemoryCacheForKey:urlString]; 
        imageData = UIImageJPEGRepresentation(image, 1.0); 
       }else if ([imageCache imageFromDiskCacheForKey:urlString]) {
        
        image = [imageCache imageFromDiskCacheForKey:urlString]; 
        imageData = UIImageJPEGRepresentation(image, 1.0);  
     }else{ 
        
        //缓存中没有图片去下载 
       imageData = [NSData dataWithContentsOfURL:url]; 
   } 
   return imageData; 
 }  

之前图片加载只有最后一行代码imageData = [NSData dataWithContentsOfURL:url];觉得这样图片加载效率很低,经过小伙伴的提醒。改成了先判断缓存中是否有图片图片数据,有的话就直接读取,没有的话再去加载。但是这样依旧觉得只要执行了最后这个分支,图片的加载还是很慢。

现在向各位大神寻求加载图片最快的方法,以解决微博微信分享慢的问题。希望看到的同行能够给予帮助!谢谢!

上一篇下一篇

猜你喜欢

热点阅读