| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
ghte5147
8年前发布

iOS开源:FLAnimatedImage - iOS 的 Gif 渲染引擎

   <p>公司的项目有个首页加载一张2M左右的git图,刚做的时候是使用的SDWebImage里面的方法:</p>    <pre>  <code class="language-objectivec">+ (UIImage *)sd_animatedGIFNamed:(NSString *)name;  + (UIImage *)sd_animatedGIFWithData:(NSData *)data;</code></pre>    <p>​使用之后发现这个方法会使内存迅速上增300M,在网上找了一些方法:</p>    <pre>  <code class="language-objectivec">//在didReceiveMemoryWarning方法中释放SDImage的缓存即可!  - (void)didReceiveMemoryWarning {         [superdidReceiveMemoryWarning];          // Dispose of     any resources that can be recreated.         [[SDWebImageManagersharedManager]cancelAll];         [[SDImageCachesharedImageCache]clearDisk];  }</code></pre>    <p>​但是使用之后发现效果并不明显,于是使用了这个FLAnimatedImage,瞬间没存回到原来的位置.</p>    <p>FLAnimatedImage 是 iOS 的一个渲染 Gif 动画的引擎。</p>    <pre>  <code class="language-objectivec">1.可同时播放多个 Gif  2.动画,速度媲美桌面浏览器  3.可变帧延迟  4.内存占用小  5.可在第一次循环播放时消除或者阻止延迟  6.动画的帧延迟解析性能媲美浏览器</code></pre>    <p>示例代码:</p>    <pre>  <code class="language-objectivec">FLAnimatedImage *image = [FLAnimatedImage animatedImageWithGIFData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"]]];  FLAnimatedImageView *imageView = [[FLAnimatedImageView alloc] init];  imageView.animatedImage = image;  imageView.frame = CGRectMake(0.0, 0.0, 100.0, 100.0);  [self.view addSubview:imageView];</code></pre>    <p>​</p>    <p>效果图:</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/91deb9fb9e3d539eb5be37dbcd5ab686.gif"></p>    <p> </p>    <p>来自:http://www.jianshu.com/p/3e41f354c423</p>    <p> </p>    
 本文由用户 ghte5147 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1489732538056.html
iOS开发 移动开发