AImage Save

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

Project README

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.

Open Source Agenda is not affiliated with "AImage" Project. README Source: wangjwchn/AImage
Stars
995
Open Issues
10
Last Commit
5 years ago
Repository

Open Source Agenda Badge

Open Source Agenda Rating