setImageResource Vs setDrawable

When it comes android development and performance, if you have imageview then which one would be faster or better (is there a difference anyways!): setImageResource and setDrawable Iknow one takes ID and the other one takes drawable. But I will be getting the drwable from ID anyways. Which one do you think is better?

Or should I avoid using imageview alltogether and use load/draw bitmap? too many selections is confusing Thanks for the comments

Answers


They are different. From Android documents.

setImageResource: This does Bitmap reading and decoding on the UI thread, which can cause a latency hiccup.

If that's a concern, consider using setImageDrawable(android.graphics.drawable.Drawable) or setImageBitmap(android.graphics.Bitmap) and BitmapFactory instead.


Those exists as convenience methods so you don't have to always work around to always getting a drawable, or always having to pass in a resource ID. Various situations call for different approaches.

All in all, there's no difference. Use what works for your situation.


I think setImageDrawable is better suited for memory intensive operations - like scrolling a RecyclerView, getting bitmap from memcache. But for something simpler, setImageResource is the better API nowadays.


Need Your Help

assign function return value to some variable using javascript

jquery

I have a js function , after doing some business logic, the javascript function should return some result to another variable.Sample code below