Image Alchemy: Efficient Processing of Images
Android and Images Infrastructure Engineer @ Facebook
As the Android community, we have figured out best-practices for displaying images and baked them into libraries such as Glide, Picasso and Fresco. However, handling local files in creation flows is still a fuzzy business: copy-pasted sampling ratio calculations, estimating compression parameters or having to allocate Bitmaps on the Java heap. A classic challenge is resizing large camera images for upload. At Facebook we've also failed hard with these issues. But we've learned a lot along the way about image format internals, native libraries and keeping image processing efficient, reliable and sane. Together, we'll go down to the metal and see how you can utilize this knowledge to make your users benefit: process images losslessly, choose the right parameters, avoid BitmapFactory fiddling and employ compression best-practices. We'll also cover established and upcoming image formats.