setImageResource Vs setDrawable - PullRequest
       0

setImageResource Vs setDrawable

20 голосов
/ 19 марта 2012

Когда речь идет о разработке и производительности Android, если у вас есть изображение, то какое из них будет быстрее или лучше (есть ли разница в любом случае!): SetImageResource и setDrawable Я знаю, что один получает ID, а другой - рисуемый.Но я все равно получу сноску от удостоверения личности.Какой из них, по вашему мнению, лучше?

Или я должен вообще избегать использования imageview и использовать растровое изображение load / draw?Слишком много выборов сбивает с толку Спасибо за комментарии

Ответы [ 3 ]

63 голосов
/ 10 апреля 2012

Они разные.Из документов Android .

setImageResource: при этом выполняется чтение и декодирование растровых изображений в потоке пользовательского интерфейса , что может привести к задержке задержки.

Если это проблема, рассмотрите использование вместо этого setImageDrawable (android.graphics.drawable.Drawable) или setImageBitmap (android.graphics.Bitmap) и BitmapFactory.

2 голосов
/ 18 июня 2015

Я думаю, setImageDrawable лучше подходит для операций с интенсивным использованием памяти, таких как прокрутка RecyclerView, получение растрового изображения из memcache. Но для чего-то более простого, setImageResource - лучший API в наши дни.

2 голосов
/ 19 марта 2012

Они существуют как удобные методы, поэтому вам не нужно всегда обходиться до всегда , получая отрисовку, или всегда , чтобы передавать идентификатор ресурса.Различные ситуации требуют разных подходов.

В общем, нет никакой разницы.Используйте то, что подходит для вашей ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...