2013-03-11 1 views
13

Bitmap класс has метод copy() с ниже подписью:Является ли неизменным Bitmap быстрее, чем изменчивым?

public Bitmap copy(Bitmap.Config config, boolean isMutable) 

Есть ли разница в производительности между изменяемым и непреложным Bitmap?

+2

Я был бы удивлен, если есть существенная разница. –

+0

Я тоже был бы удивлен, но кроме укрепления кода я не могу представить себе функциональную причину выбора одного над другим. Тем не менее, поскольку это затвердевает код, было бы лучше сделать его неизменным. Любой выигрыш в производительности, который вы получите, будет получен потому, что вы знаете, что изображение никогда не изменится. – DeeV

+4

Причина неизменяемых растровых изображений заключается в том, что они сохраняют ваши ресурсы (при копировании неизменяемого растрового изображения на другой неизменяемый, указатель C по-прежнему указывает на одно и то же местоположение, поэтому нет необходимости в реальной копии). Все остальное, однако, остается таким же, как и на ваш вопрос, нет изменений производительности, но если вы заботитесь о системных ресурсах, вы должны использовать неизменяемые растровые изображения, когда это возможно. Я помню, как Ромен Гай писал об этом, но я не могу его найти. – EyalBellisha

ответ

6

Romain Guy ответил в комментариях:

Чтобы ответить на исходный вопрос: нет, нет производительности разница. Есть некоторые оптимизации, которые мы могли бы реализовать для измененных растровых изображений . Надеюсь, в будущем выпуске :)

-3

На уровне приложения всегда существует разница между неизменяемыми & изменяемыми ресурсами Bitmap.

Вы всегда получаете неизменное растровое изображение из ресурсов. вам нужно преобразовать их в изменчивое растровое изображение согласно требованию.

Bitmap Bitmap = BitmapFactory.decodeResource (....); Bitmap mutableBitmap = immutableBitmap.copy (битмап.Config.ARGB_8888, true);

Возможно, в этой ссылке может возникнуть проблема с производительностью.

+2

Два downvotes и комментариев нет? В самом деле? Как пользователь, это не дает мне представления о том, действительно ли ответ ошибочен, просто сбивает с толку избирателя или какой-то третий вариант. –

+0

Ответ на самом деле неправильный. –

+0

неправильный ответ ... сообщите, прежде чем помогать. –

0

Нет разницы в производительности. Это не повлияет на производительность вашего приложения. Если вы хотите, чтобы выполнить какое-либо OPRATION как вращение и т.д., то я думаю, что битовая карта должна быть изменяемой ...

 Смежные вопросы

  • Нет связанных вопросов^_^