当一个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));
}
/**
* 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));
}
相关文章推荐
- 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
- 如何从ImageView中获取bitmap ,bitmap在activity中的传输
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 利用运行时,给UIImageView写一个分类,交换里面的setImage的方法,可以重绘图片,提高内存的利用率(要是没有重绘图片,直接使用系统提供的setImag就会造成占用大量的内存问题)
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 使用rxjava2.0根据url获取bitmap,并显示到imageview上
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 举例说明android中Bitmap、ListView以及ImageView的综合使用---显示图片并获取图片的宽和高
- 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
- 通过图片的url获取Bitmap对象,给Imageview使用
- 转--如何使用代码动态的获取和设置ImageView的宽度和高度?
- HttpClient4.5.2 使用cookie保持会话——获取cookie之后如何传递它(2)
- iOS学习之iOS 使用NINetworkImageView下载图片,google地图图片的获取。
- android 如何把一个 RelativeLayout或ImageView背景设为透明 分类: Android多媒体 2015-01-18 10:37 74人阅读 评论(0) 收藏
- 如何动态的获取和设置ImageView的宽度和高度?
- 安卓 获取imageview的bitmap,并保存,用于app头像上传获取
- iOS中使用SDWebImage加载图片失败之后如何重新加载
- iPhone 如何使用UIImageView播放动画,并停留在之后一张图片并添加播放结束时的事件
- 如何在圆形 imageView android 上添加一个阴影和边界?
- 如何让一个button 的 backgroundimage 等比例缩放 background imageview 并不完美