If you do not have specific requirements (for example, saving memory or saving calculations or a specific native pixel format), just go with the standard TYPE_INT_ARGB , which has 8 bits per channel, 3 channels + alpha.
Skipping the alpha channel when working with 8 bits per channel will not affect the total memory occupied by the image, since each pixel will be packed into int anyway, so 8 bits will be discarded.
Basically you have:
TYPE_INT_ARGB , 4 bytes per pixel with alphaTYPE_INT_ARGB_PRE , 4 bytes per pixel, as before, but the colors are already multiplied by the alpha of the pixel to save the calculations.TYPE_INT_RGB , 4 bytes per pixel without alphaTYPE_USHORT_555_RGB and TYPE_USHORT_565_RGB , 2 bytes per pixel, much less colors, you do not need to use it if you do not have memory limits.
Then there are all the same formats with exchanged channels (for example, BGR instead of RGB ). You must choose the one that is native to your platform so that there are fewer conversions.
source share