HyperImageView is an easy-to-use iOS user interface control and an alternative for UIImageView where the developer wants to display images with high performance. It converts an image into raw pixel data and saves it on the disk. Afterward, whenever the image needs to be rendered, HyperImageView reads the cached file from the disk and directly loads it into the video memory. Therefore, HyperImageView can render images up to 30 times faster than UIImageView while uses 10 times less RAM (at the expense of a reasonable disk space). Also the rendering task takes place in a background thread and it never blocks user interaction even for very large images.
HyperImageView provides a huge performance improvement in displaying large images (e.g. >100x100) and in cases that an image should be displayed multiple times in one run-cycle of the app or constantly being displayed in the app in all runs. Moreover, unlike UIImageView, HyperImageView performs all the drawing in background and does not block the main thread.
Have you encounter memory warnings when loading just a few large images with UIImageView? Actually, UIImageView allocates tens of megabytes for loading an image (larger ones) and it often results in memory warnings if you load several images sequentially. In contrast, HyperImageView does not allocate any memory for loading cached images. HyperImageView reads raw pixel data from the disk and writes it directly into the already-reserved video memory.
HyperImageView supports alpha-channel and can easily handle and display transparent images. Ideal for scenarios where the developer tends to load an image on the top of another.
As HyperImageView renders an image and converts it to .hyperIMG format, A 100x100px image on a non-retina device will allocate 100x100x4 bytes and on a retina device will take 100x100x16 bytes on the disk.
It's safe to resize HyperImageView in animations by changing it's frame property. Notice, if you call setNeedsDisplay after resizing, HyperImageView will render a new hyperIMG file.
HyperImageView does not use any private-APIs. It uses CoreGraphics functions for gaining access to the video memory and performing the super fast drawing.
Begging UIImageView for a higher performance, I said ‟I shall either find a way or make one”, HyperImageView got born.Hamidreza Vakilian
HyperImageView Standard and Pro versions by Innovian are licensed under binpress Commercial License. HyperImageView Lite version by Innovian is licensed under binpress License. Permissions beyond the scope of these licenses may be available at http://www.hyperimageview.com/contact.php by sending your proposal.