Low-end devices optimization

Thanh Phong Nguyễn
Minimize image resolution
Request different images based on screen resolution, screen density and device memory
Update trade-off logic between quality & performance regularly per individual session

Consider using WebP format ()
Compressed image size decreased by at least 30% with no visible quality difference

Bitmap Heap Caching
In-memory Level 1 Bitmap cache for smooth scrolling and effeciency. Because decoding an image from disk is CPU intensive
Large Bitmap cache when dealing lot of images
50% of Runtime.maxMemory() & android:largeHeap=true
Empty cache when application in background

Use RGB 565 on small thumbs
Faster decoding
Only 2 bytes of heap per pixel, instead of 4

Sharing large buffer between C++ & Java
Limit bitrate depend on processor, resolution & memory capabilities
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.