Я пытаюсь сделать то же самое.Похоже, что у Android много проблем с этим.См. Мой ответ здесь для некоторых деталей.
Помимо проблем с декодированием NV21, я также обнаружил, что только некоторые из методов Bitmap.createBitmap () фактически возвращают действительные битовые картыэто может быть обращено на поверхность.В отладчике вы можете сказать, что иногда вы получаете растровое изображение с mHeight == -1
, которое, я думаю, не будет работать.
Я также обнаружил, что ImageView#setBitmapImage()
ничего не делает, пока View#drawBitmap()
работает.