gpt4 book ai didi

android - 无法压缩回收位图

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:49 24 4
gpt4 key购买 nike

我试图将布局保存到 SDCard 中的图像中,但出现此错误。我尝试了我在这个论坛中找到的几个代码,但所有代码都有相同的压缩调用,导致错误。

这是我用来保存图片的代码:

private Bitmap TakeImage(View v) {
Bitmap screen = null;
try {
v.setDrawingCacheEnabled(true);

v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());

v.buildDrawingCache(true);
screen = v.getDrawingCache();
v.setDrawingCacheEnabled(false); // clear drawing cache
} catch (Exception e) {
e.printStackTrace();
}
return screen;
}

这是将其保存在 SDCard 中的代码:

private void saveGraph(Bitmap graph, Context context) throws IOException {
OutputStream fOut = null;
File file = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test.jpg");
fOut = new FileOutputStream(file);

graph.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();

MediaStore.Images.Media.insertImage(getContentResolver(),
file.getAbsolutePath(), file.getName(), file.getName());
}

我收到错误:

Can't compress a recycled bitmap in the compress call!

最佳答案

这可能导致位图被回收:

v.setDrawingCacheEnabled(false); // clear drawing cache

如果你想让位图停留更长时间,那么你应该复制它。

关于android - 无法压缩回收位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com