gpt4 book ai didi

java - 提高 Android 中的文件保存性能

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:58 25 4
gpt4 key购买 nike

我的外部存储器上有 100 张图像,我在 for 循环中执行以下两项任务。

  1. 将每个项目加载为位图并将其与另一个位图合并
  2. 将结果保存为内存中的新文件

对于 100 张图像来说需要太多时间。合并位图可以快速退出,但将结果保存在文件中需要太多时间。有什么办法可以插入这个问题吗?将位图保留在内存中和批量保存文件可能会导致 OutOfMemoryException 。

这就是我合并位图的方式: how to merge to two bitmap one over another

这就是我将位图保存到文件的方式:

       File imageFileFolder = new File(Statics.TEMP_PATH);
imageFileFolder.mkdirs();
FileOutputStream out = null;
File imageFileName = new File(imageFileFolder, imageName);
try {
out = new FileOutputStream(imageFileName);
imageBitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

请注意,所有这些都在 AsyncTask block 中。

最佳答案

最后我提出了将位图保存为 jpeg 的解决方案。保存 250k png 位图花费了近 500 毫秒。 jpeg 格式的相同位图大约需要 50 毫秒。虽然质量不会相同,但看起来这是质量和性能之间的权衡。

关于java - 提高 Android 中的文件保存性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43180826/

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