在使用位图创建缩放版本后是否可以回收位图?

问题描述 投票:0回答:1

我正在创建位图,但是在那之后,我将创建另一个带有比例尺的位图:

Bitmap originalBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.a1);
float ratio = (float) originalBitmap.getWidth() / originalBitmap.getHeight();
int h = sh/7;
int w = (int) (h * ratio);
scaledBitmap = Bitmap.createScaledBitmap(originalBitmap, w, h, true);
originalBitmap.recycle();

创建缩放的位图后可以安全地回收originalBitmap吗?将不使用原始位图,仅将使用缩放的位图。

我问这个问题是因为我在该行中有一段评论可以讲述过去“回收位图”崩溃,但我不知道在哪种情况下。也许回收原始版本会在缩放版本中导致崩溃?

谢谢

android bitmap android-bitmap recycle
1个回答
0
投票

Android文档:

public static Bitmap createScaledBitmap ( Bitmap src, int dstWidth, int dstHeight, boolean filter )

尽可能创建一个新的位图,并根据现有的位图缩放比例。如果指定的宽度和高度与源位图的当前宽度和高度相同,则返回源位图,并且不会创建新的位图。

因此,请确保缩放的位图调暗度与源位图不同。

© www.soinside.com 2019 - 2024. All rights reserved.