android – 无法压缩回收的位图

android – 无法压缩回收的位图,第1张

概述我试图将一个布局保存在SDCard中的图像中,但是我收到这个错误.我尝试了几个代码,我发现在这个论坛,但所有的都有相同的压缩呼叫,给出的错误. 这是我用于保存图像的代码: private Bitmap TakeImage(View v) { Bitmap screen = null; try { v.setDrawingCacheEnable 我试图将一个布局保存在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,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 – 无法压缩回收的位图全部内容,希望文章能够帮你解决android – 无法压缩回收的位图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存