找回密码
 立即注册

QQ登录

只需一步,快速开始

leadcom

论坛元老

24

主题

96

帖子

2万

积分

论坛元老

积分
27812

活字格认证

[已处理] 内存溢出问题

leadcom
论坛元老   /  发表于:2015-9-22 14:03  /   查看:16522  /  回复:20
在打开相对效大的文件,或者对图片操作过多的次数时,就会出现这样的错误。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

20 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-9-22 16:35:00
沙发
回复 1楼leadcom的帖子

感谢你的问题反馈,根据当前信息我们无法重现问题,能否请你发送一个重现问题的demo,附上详细的操作步骤到论坛?
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-9-22 16:52:00
板凳
1.当我打开一个pdf文件的时候,加载的时间过长,同时还会出现内存益处的问题。这个pdf也就4.27M大小,里面是45页300dpi的图片。打开的时候就会出现内存益处的问题。
2.如果我对一张300dpi的图片操作很多次的时候,到了后面,也会提示内存溢出的问题。(操作之前我会对原有的图片存放到堆栈中,如果我操作50次,堆栈中就会有50张图片)。
3.ratsterdefaults这个类提供了对本地缓存的路径以及内存使用大小的设置。请问这个本地缓存目录在什么时候起作用。如何应用本地缓存。我将使用的内存调整到2G,这样还是会出现内存不足的情况。
针对在图片处理时内存不足的情况,有什么好的解决办法。

这是PDF文件
http://pan.baidu.com/s/1jG919Ka
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-9-22 18:10:00
地板
回复 3楼leadcom的帖子

感谢反馈,调查后反馈给您进一步结果。
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-9-29 14:03:00
5#
当我处理完一个多页的pdf文件后,我把该pdf文件关闭,按理说,此时内存中已经把这个pdf文件中的信息释放了。但不然,此时内存还是被占用了,因为我随便打开另一个文件的时候,就会提示内存溢出。
请问如何控制管理leadtools的内存。
如果我 这里有一个pdf文件,打开这个文件就会报错。也是内存的问题。
http://pan.baidu.com/s/1gdErRmr
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-9-29 17:39:00
6#
您好,
您的问题,我们已经收到,会在进一步调查后,给您反馈。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-8 13:58:00
7#
回复 5楼leadcom的帖子

通过 5# 文件测试,使用 C:\LEADTOOLS 19\Examples\DotNet\CS\MainDemo 打开并没有提示异常信息。

请您使用这个demo尝试,看是否提示错误。如果没有解决问题,请提供一个demo用于重现问题。

另外,LeadTools 并不会自主回收内存,而是通过 .NET 托管机制进行管理的。

谢谢
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-10-8 15:32:00
8#
当一个tif或pdf文件页数有几百页时,这个方法就会报错。(如果tif中的图片文件像数为300dpi的大文件时,更加容易报错)
  1. var document = DocumentFactory.LoadFromFile(fileName, new Leadtools.Documents.LoadDocumentOptions { UseCache =false });
  2. if (document != null && document.Pages != null && document.Pages.Count > 0)
  3. {
  4.     List<RasterImage> imageList=new  List<RasterImage>();
  5.     foreach (var page in document.Pages)
  6.     {
  7.          imageList.add(page.GetImage().Clone());
  8.     }
  9. }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-9 12:09:00
9#
回复 8楼leadcom的帖子

问题我已经重现了,已经发送给产品组,有进一步结果通知你。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-14 10:07:00
10#
回复 8楼leadcom的帖子

内存溢出问题建议您通过按需加载的方式进行实现,例如先加载5页,在滚动条滚动到最底部时再加载下一个5页减少内存消耗。

另外,使用 64bit 最大内存要高于 32bit,也可以尝试下。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部