问题:我们现在遇到了,大文件几十M以上的psd文件,从load源文件到save保存图片,性能及资源消耗不是很理想,尤其是超大文件的psd文件,非常吃内存及CPU,有没更好的解办法?试验测试下来,平均1个100多M的psd文件,内存资源占用达到1GB~2GB,同文件的photoShop加载,仅需最大不超过500M的内存资源消耗。
实际上,我们无法与PhotoShop进行这种比较。 在Aspose.PSD API中,您正在以编程方式在API的文档对象模型(DOM)中扩展PSD,这也需要许多其他satics来加载。 对于这个更大的文件,消耗的内存量是令人满意的。
恩,好的。另一个问题,为何占用的内存资源一直不释放呢。实际场景,与psd有关的操作都已全部结束,但服务进程所占用的内存一直没释放。
服务初始启动后资源占用:
image.png (9.2 KB)
服务加载一张psd文件占用:
image.png (9.9 KB)
服务加载五张psd文件(包括大容量文件-100M左右)资源占用:
image.png (9.1 KB)
PS:重点关注java对应的进程内存占用情况。从0.3%->7%->17%
祥见此问题中的源文件及示例,快照信息暂不方便提供,涉及公司项目产品类信息,抱歉。若你们需要,可以自行以其代码示例和源文件,多线程并发运行,一目了然。