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.
/* 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.












