在我的应用中,当用户点击它时,我想在运行时交换图像。
当用户点击第一张图片然后同时点击第二张图片时有两个 ImageView 我正在获取第一张 ImageView 的图像的位图并为此分配给第二张 ImageView 我使用了以下代码:
public Bitmap createBitmap(ImageView imageview) {
imageview.setDrawingCacheEnabled(true);
imageview.buildDrawingCache(false);
if(imageview.getDrawingCache() != null) {
Bitmap bitmap = Bitmap.createBitmap(imageview.getDrawingCache());
imageview.setDrawingCacheEnabled(false);
return bitmap;
} else {
return null;
}
}
代码运行良好,但缓存并非每次都被清除,而且位图是用以前的缓存创建的,所以我该如何清除位图缓存?
最佳答案
这是一个示例,例如我用来释放与此位图关联的 native 对象
。
Bitmap bitmap;
public Bitmap createBitmap(ImageView imageview) {
if (bitmap != null) {
bitmap.recycle();
bitmap = null;
}
bitmap = Bitmap.createBitmap(imageview.getDrawingCache());
// Your Code of bitmap Follows here
}
在使用 Bitmap 之前释放对象。
关于android - 删除绘图缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10793191/