iOS 设备上的 Gif 崩溃

Posted

技术标签:

【中文标题】iOS 设备上的 Gif 崩溃【英文标题】:Gif Crashing on iOS device 【发布时间】:2015-10-22 17:44:43 【问题描述】:

Gif 在模拟器上运行流畅,但由于内存问题在设备中崩溃。如何处理这个。我用谷歌搜索了很多,但没有找到任何解决方案。

以下是我用来加载 Gif 的代码

NSURL *url = [[NSBundle mainBundle] URLForResource:[utility getString] withExtension:@"gif"]; 
self.img.image = [UIImage animatedImageWithAnimatedGIFURL:url];

提前致谢

【问题讨论】:

您是否将其加载到 webview 中?或者你有一系列加载到 imageview 中的 uiimage? 我将这个库用于 gif,效果很好。 github.com/rs/SDWebImage @gottlieb 以下是我用来加载 Gif NSURL *url = [[NSBundle mainBundle] URLForResource:[utility getString] withExtension:@"gif"]; self.img.image = [UIImage animatedImageWithAnimatedGIFURL:url]; 【参考方案1】:

据我所知,由于内存压力和内存使用量的大幅增加,它会崩溃。

查看这些链接,它可能会对您有所帮助link1、link2!!和link3!!

【讨论】:

【参考方案2】:

使用 Github 的 FLAnimatedImage 库:- 使用 https://github.com/Flipboard/FLAnimatedImage 它易于使用且内存友好。

导入“FLAnimatedImage.h”

导入“FLAnimatedImageView.h”

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); //As your Wish you can set frame
[self.view addSubview:imageView]; 

这是一个经过充分测试的组件。

【讨论】:

以上是关于iOS 设备上的 Gif 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

iOS测试常见崩溃

iOS应用崩溃日志分析

React-native:iOS 应用程序在具有命名空间 SPRINGBOARD 的设备上的启动屏幕中崩溃

iOS 10 上的 UILocalNotification 会崩溃吗

iOS App 在 iOS 13 上的编译器生成代码中崩溃

获取app崩溃信息的途径 iOS