setImageResource对setDrawable

Sna*_*ake 21 android android-layout

当它出现在android开发和性能上时,如果你有imageview那么哪一个会更快或更好(反正有差异!):setImageResource和setDrawable我知道一个需要ID而另一个需要绘制.但无论如何我都会从ID获得drwable.你觉得哪一个更好?

或者我应该避免全部使用imageview并使用加载/绘制位图?太多选择令人困惑感谢您的评论

Seu*_*oon 64

它们是不同的.来自Android文档.

setImageResource:这会在UI线程上进行 Bitmap读取和解码,这会导致延迟打嗝.

如果这是一个问题,请考虑使用setImageDrawable(android.graphics.drawable.Drawable)或setImageBitmap(android.graphics.Bitmap)和BitmapFactory.

  • 在我的GridView适配器中,我使用了setImageResource,它在滚动时滞后.当我更改了对setImageBitmap的调用时,GridView开始顺利滚动.这两种方法的执行时间明显不同.但是,如果开发人员使用静态视图(未移动),则使用的内容没有区别. (2认同)