Skip to content
wangjwchnPublic

About

An animated gif & apng engine for iOS in Swift. Have a great performance on memory and cpu usage.

Topics

Resources

Stars

974 stars

Watchers

19 watching

Forks

Latest commit

 

History

172 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Cover

Language Pod License

Features

  • Small but complete, only200lines of code.
  • Allow to control display quality, memory usage, loop time and display progress.
  • Have a great performance on memory and cpu usage.
  • Using asynchronous image decoding to reduce the main thread CPU usage.

Usage

/* Create AImage with URL */
let image = AImage(url: Bundle.main.url(forResource: "test", withExtension: "gif")!)

/* Create AImageView */
let imageview = AImageView(frame:CGRect(x: 0.0, y: 50.0, width: 380.0, height: 212.0))

/* Add AImage to AImageView */
imageview.add(image: image!)

/* Start displaying animated image */
imageview.play = true

...
...

/* Stop displaying animated image */
imageview.play = false

Benchmark

Compared with Gifu and Apple's example code.

Test1: Display view.gif

Library CPU Memory
Apple's Example Code
Gifu
AImage

Test2: Display earth.gif

Library CPU Memory
Apple's Example Code
Gifu
AImage

Measurement Factors:

  • Measurement time: August 24, 2017

  • Measurement device: iPhone6, iOS 11.0(15A5362a)

Principles

Old Version

Version of swift 2.3 can be found in here.

Licence

AImage is released under the MIT license. See LICENSE for details.

About

An animated gif & apng engine for iOS in Swift. Have a great performance on memory and cpu usage.

Topics

Resources

Stars

974 stars

Watchers

19 watching

Forks

Releases

Packages

Used by

Contributors

Languages