从本地获取drawable图片:getResources().getDrawable(R.drawable.**)
获取bitmap:Bitmap b=BitmapFactory().decodeResource(context.getResource(),R.drawable.**);
drawable转bitmap:
Drawable a=**;Bitmap b=(BitmapDrawable)a.getBitmap()
bitmap转drawable:
Bitmap b=**
Drawble a=new BitmapDrawable(context.getResources(),b);
setImageResource():这个方法是在UI线程中对图片读取和解析的,所以有可能对一个Activity的启动造成延迟。所以如果顾虑到这个官方建议用setImageDrawable和setImageBitmap来代替。
setImageBitmap():实际上setImageBitmap做的事情就是把Bitmap对象封装成Drawable对象,然后调用setImageDrawable来设置图片,不如直接使用setImageDrawable()
setImageDrawable():setImageDrawable是最省内存高效的,如果担心图片过大或者图片过多影响内存和加载效率,可以自己解析图片然后通过调用setImageDrawable方法进行设置。