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

Android 为什么我的图像没有调整大小?,android,image,resize,Android,Image,Resize,我有一个图像路径,我解码成位图。我发现位图太大了,并试图调整它的大小。它不起作用(图像太大了),我的代码行吗 ImageButton myImage = (ImageButton) findViewById(R.id.image); Bitmap myBitmap = BitmapFactory.decodeFile(selectedImagePath); Bitmap.createScaledBitmap(myBitmap, NEW_WIDTH, NEW_HEIGHT, true); my

我有一个图像路径,我解码成位图。我发现位图太大了,并试图调整它的大小。它不起作用(图像太大了),我的代码行吗

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

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

myImage.setImageBitmap(myBitmap);
它的设计目的是不改变原始位图。您没有捕获引用,因此它只是被丢弃

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

它的设计目的是不改变原始位图。您没有捕获引用,因此它只是被丢弃


请记住,以这种格式创建位图会占用更多内存,因为创建新位图时仍保留旧位图。如果您经常这样做,并且没有扔掉旧的引用,那么您的堆将快速增长。

什么是它不工作?您是否遇到了
异常
,或者它对于框架来说太大了?我更新了我的问题:它太大了。框架布局可能比图像按钮更适合您。在不改变任何其他内容的情况下尝试一下,看看它是否已调整大小。你说它不工作是什么意思?您是否遇到了
异常
,或者它对于框架来说太大了?我更新了我的问题:它太大了。框架布局可能比图像按钮更适合您。在不改变任何其他内容的情况下尝试一下,看看它是否可以调整大小。你可以使它们可变。他只是错误地使用了静态方法。它不会更改原始位图。它会在旧位图的基础上创建一个新的位图。没错,他必须创建一个新的位图实例,而不是一个新的引用。你可以使它们可变。他只是错误地使用了静态方法。它不会更改原始位图。它会在旧位图的基础上创建一个新的位图。没错,他必须创建一个新的位图实例,而不是一个新的引用。
Bitmap myBitmap = BitmapFactory.decodeFile(selectedImagePath);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(myBitmap, NEW_WIDTH, NEW_HEIGHT, true);
myBitmap.recycle();
myBitmap = null;