为什么我的图片没有调整大小?

时间:2012-05-31 21:53:19

标签: android image resize

我有一个图像路径,我将其解码为位图。我发现Bitmap很大并且试图调整它的大小。它不起作用(图像太大了),我的代码好吗?

ImageButton myImage = (ImageButton) findViewById(R.id.image);

Bitmap myBitmap = BitmapFactory.decodeFile(selectedImagePath);
Bitmap.createScaledBitmap(myBitmap, NEW_WIDTH, NEW_HEIGHT, true);

myImage.setImageBitmap(myBitmap);

1 个答案:

答案 0 :(得分:3)

Bitmap myBitmap = BitmapFactory.decodeFile(selectedImagePath);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(myBitmap, NEW_WIDTH, NEW_HEIGHT, true);
myBitmap.recycle();
myBitmap = null;

它旨在不更改原始位图。你没有捕获引用,所以它只是被扔掉了。

请记住,以这种格式创建位图会占用更多内存,因为您在创建新位图的同时仍然保留旧位图。如果你经常这样做并且不丢弃旧的引用,那么你的堆将会非常快速地增长。