Features
- Small but complete, only
200lines 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.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.













