Если это с камеры, изображение, скорее всего, будет в формате JPEG. Вы можете использовать внешнюю библиотеку jpeg - либо в java, либо через NDK, что бы вы ни нашли - чтобы лучше контролировать и загружать ее по частям за раз. Если вам нужно это как android.graphics.Bitmap
, тогда я подозреваю, что вам нужно будет перекодировать субизображение в PNG или JPEG и передать его в BitmapFactory.decodeByteArray()
. (Если проблема связана с памятью, обязательно забудьте о ссылках на фрагменты растрового изображения, чтобы сборщик мусора мог работать эффективно.)
Эта же методика также будет работать, если входная графика имеет формат PNG или что-то еще, при условии, что вы можете найти подходящий код декодирования для нее.
Я думаю, что, загружая изображение по кусочкам, вы ставите перед собой алгоритмическую задачу, решая, в каких частях вы действительно заинтересованы во всех деталях. Я заметил, что BitmapFactory.Options
включает опцию подвыборки, которая может быть полезна, если вы хотите проанализировать обзор изображения, чтобы решить, какие области загружать в деталях.