[bug / need help]保存‘大量’图片会导致崩溃
使用环境
- pixez: 0.9.39
- android 11,2021年的系统 之后并未更新。
- 运行内存8GB,平均可用3GB
- 保存位置设置为外置存储,每个画师单独文件夹
具体情况
- 在非常早期(2022-2023年上半年左右)的版本时,我观察到的保存策略是直接写入,虽然有极小概率会导致图片损坏 但是基本没有崩溃和丢失图片的情况。
- 在更新过某个版本后,注意到保存的策略变更为延迟一段时间再进行写入(更新版本前后保存位置基本没有变化),即如果使用pixez保存完图片后,在数(十)秒内杀掉进程,大概率会丢失app上显示已经保存完成的图片。
- 在更以后的版本中,发现在一次性下载>30张图片时,有较大机会触发一长串内容类似
java.balabala的报错,对新的下载无响应,随后应用闪退并丢失部分图片。 - 之后又更新了一次版本,类似上面的报错消失,但是崩溃变得频繁,只要一次性保存超过20张图的样子,就有机会直接触发闪退。经过反复尝试,保持平均30秒下载一张图的速度就不会导致闪退。
可能的原因
- 内存不足
- 系统版本太老,类似webview组件版本太低 注: 一样会崩溃且愈发频繁的软件包括升级新版的via浏览器,故认为有这种可能。
- 文件(夹)数量太多,目前指定的下载目录存在4000个文件夹。不过存储卡的性能应该不是瓶颈。
基于上述原因,我不是很能确定这到底是不是一个bug。希望在看到此issue后可以改善一下保存的策略;如果是我的操作不当,请提供一些实操建议,万分感谢。
存储方式选的是默认的吗,如果是saf确实会存在无解的效率问题,有具体提示的截图不
在目前的版本中已经较难触发到报错提示了,基本都是直接闪退的。当然如果碰到了我也会尽力留存截图。
保存的
相关设置如图,并行下载数已经调到3,以兼顾效率。
如果saf存在效率问题,请问有何办法回避,或者我应该降级到哪个版本之类的呢?
通过一次性保存超过100张图片成功触发了报错。据我观测每次的报错长度似乎不是相同的。
这次提示的貌似是内存不够?
附设备和app的内存使用情况:
能否让保存图片的时候不占用内存,或至少不使用如此多的内存,这样也许能减少此类情况的发生🧐
我也遇到了一样的问题,不过似乎这个问题是打开(为每个画师单独保存文件夹)导致的.并且即使没有崩溃,也经常保存到画师(1),画师(2)这种重复创建的文件夹中,我怀疑这两者间可能有关联
这个问题直到迄今为止的安卓最新版也会生效,
在出现批量下载(比如同时下载十个)的时候,崩溃概率和创建重复文件夹的概率大幅提升,并且实测我的xzp(4g内存)和y700(16g内存)崩溃概率差不多,所以应该不是内存的问题