我正在以编程方式创建图像,然后将该图像从设备拉到PC并打开该图像,然后无法查看该图像并收到无法打开此图像的消息,因为此图片正在另一个程序中编辑
这是代码
View content = findViewById(R.id.myview);
content.setDrawingCacheEnabled(true);
content.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
Bitmap bitmap = content.getDrawingCache();
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(path+"/test.png");
try {
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.PNG, 100, ostream);
ostream.close();
Toast.makeText(getApplicationContext(), "image saved", 5000).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "error", 5000).show();
}
将图像保存到SD卡后,我是否遗漏关闭文件或其他任何内容?
修改
我知道这篇文章中给出的答案,但是在没有关闭日食的情况下是另一种方式吗?
答案 0 :(得分:3)
这是我面临的确切问题,我试过的解决方案
干杯
答案 1 :(得分:0)
可能是旧版本的eclipse或ADT的问题,在将Eclipse Indigo更新为Juno并使用最新的ADT后,它将正常工作,没有任何错误。其中一条评论是由Drax
给出的新版ADT解决了它。即使您的应用程序可以将所有对象从内存中释放出来,我处于使用状态并且未关闭的地方。
只需更新您的日食和ADT以防止此问题。