liyong03/YLGIFImage

Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory.

Objective-C

1,759

20 commits

updated Dec 19, 2020

See the code

README

YLGIFImage

Asynchronized GIF image class and Image viewer supporting play/stop GIF images.

It just use very less memory. Following GIF usually will cost almost 600MB memory if it is fully decoded (800x600x389x4 Bytes), but using YLGIFImage, it just use about 30MB memory.

For this gif file, iOS Pinterest also will crash, but using YLGIFImage, it won't!

####Swift support I created another project to implement YLGIFImage using swift, it's called YLGIFImage-Swift.

####Get Start Using CocoaPods to get start, you can add following line to your Podfile:

pod 'YLGIFImage'

####Using it For using YLGIFImage, it's very simple:

YLImageView* imageView = [[YLImageView alloc] initWithFrame:CGRectMake(0, 160, 320, 240)];
[self.view addSubview:imageView];
imageView.image = [YLGIFImage imageNamed:@"joy.gif"];

Here is the demo looks like:

Thanks

Thanks to OLImageView! I referred a lot to this project, especially using CADisplayLink to play the animation.

liyong03/YLGIFImage

Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory.

Objective-C

1,759

20 commits

updated Dec 19, 2020

See the code

README

YLGIFImage

Asynchronized GIF image class and Image viewer supporting play/stop GIF images.

It just use very less memory. Following GIF usually will cost almost 600MB memory if it is fully decoded (800x600x389x4 Bytes), but using YLGIFImage, it just use about 30MB memory.

For this gif file, iOS Pinterest also will crash, but using YLGIFImage, it won't!

####Swift support I created another project to implement YLGIFImage using swift, it's called YLGIFImage-Swift.

####Get Start Using CocoaPods to get start, you can add following line to your Podfile:

pod 'YLGIFImage'

####Using it For using YLGIFImage, it's very simple:

YLImageView* imageView = [[YLImageView alloc] initWithFrame:CGRectMake(0, 160, 320, 240)];
[self.view addSubview:imageView];
imageView.image = [YLGIFImage imageNamed:@"joy.gif"];

Here is the demo looks like:

Thanks

Thanks to OLImageView! I referred a lot to this project, especially using CADisplayLink to play the animation.

Significant stargazers

Stephen Celis

6,173 followers · starred Apr 2014

Pavel 'Pasha' Mazurin

76 followers · starred Apr 2014

Vladislav Alekseev

67 followers · starred Apr 2014

Hugo

47 followers · starred Aug 2016