Profiling universal image loader library
In this review we spend time profiling universal image loader library using the traceview, memory monitor & GPU render profiling tools.
Results
TRACEVIEW
In comparison with the other libraries we observed more than one thread pool with each pool consisting of three threads. At some stages the threads in each pool were executing at the same time.
We did note some performance issues when running the android trace view test and did get an “application not responding” dialog popup which we had no observed in the other libraries.
We also noted some random concurrency issues when scrolling as well.
MEMORY MONITOR
Starts at consuming in the region of 16 MB, then after scrolling reaches a max in the region of 45 MB. After triggering a garbage collection (GC) the memory consumed drops down to 31.5 MB.
GPU RENDER
The key point to note here is the green horizontal line which represents 16 ms. Any frames that are higher than the horizontal green line can result in application jitter.
There was no issues with the time taken to render the frames from the universal image loading library.
Get Application Code
If you would like to run these tests on your own hardware the code is available on github here
https://github.com/mobapptuts/recyclerview_image_gallery.git Tag uil
Or else you can run this command
git clone — branch url https://github.com/mobapptuts/recyclerview_image_gallery.git