android - Android临时保存图像并在不再删除图像时的最佳实践?
问题描述
我目前正在开发一个安卓应用程序。在这个应用程序中,我从远程服务器下载图像以便在其中显示它们。实际上,我将这些文件保存在 sdcard/emulated/0/myapp 中。我需要的是如何在用户使用 myapp 时使这些图像暂时可用,并且应该在用户按照此问题中的最佳实践关闭应用程序时将其删除。我将图像保存到 sdcard 的代码是:
public static String saveToSdCard(Bitmap bitmap, String filename) {
String stored = null;
File sdcard = Environment.getExternalStorageDirectory();
File folder = new File(sdcard.getAbsoluteFile(), "myapp");
if (!folder.exists()) {
folder.mkdirs();
}
File file = new File(folder.getAbsoluteFile(), filename + ".jpeg");
if(file.exists()){
file.delete();
}
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
/*if (file.exists())
return stored;
*/
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
stored = "success";
} catch (Exception e) {
e.printStackTrace();
}
return stored;
}
提前致谢。
解决方案
将它们存储在缓存目录中。由 getCacheDir() 函数找到的缓存目录。
推荐阅读
- keras - 在 Keras 中使用 LSTM 获取单词用于文本分类的概率
- python - 如何每 3 小时迭代一次 for 循环,总共 7 天
- java - Spring boot rest在注册时设置用户默认配置文件图像
- date - 这种表示日期的二进制格式是什么?
- performance - 气流 - 装满 DagBag 真的很慢
- jsonschema - 使用 ajv json 模式验证器的用户友好错误消息
- mysql - 使用其他表中的值查询插入
- javascript - 为什么 Azure Maps 示例会引发错误“错误请求”?
- python - 与请求异步,如何获得速度优势
- python - 如何从 Python 中复杂的嵌套 JSON 响应中获取节点