您的位置:首页 > 其它

当一个imageview 使用了 setimagebitmap(bit); 之后 如何从imageview中获取到bit

2014-03-05 10:53 357 查看
下面是SDK里面Imageview.setImageBitmap()的源码,他根本没有保存bitmap的引用,而只是将bitmap包装成了一个BitmapDrawable再setImageDrawable(),如果你非得获得bitmap的引用的话,继承ImageView,在他里面添加一个bitmap的成员变量,然后重写setImageBitmap方法,每次调这个方法的时候就将bitmap的引用保存住,然后提供一个getBitmap()方法返回bitmap的引用。但是我感觉这样做没撒意义,如果你是为了更快的回收内存的话,如果bitmap还在显示你就调用bitmap.recycle()方法的话会报错,希望对你有帮助。

/**

* Sets a Bitmap as the content of this ImageView.

*

* @param bm The bitmap to set

*/

@android.view.RemotableViewMethod

public void setImageBitmap(Bitmap bm) {

// if this is used frequently, may handle bitmaps explicitly

// to reduce the intermediate drawable object

setImageDrawable(new BitmapDrawable(mContext.getResources(), bm));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐