关于 java 2D 占用内存的问题
登录 | 论坛导航 -> 华新鲜事 -> 技术の宅 | 本帖共有 4 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:小Z (等级:5 - 略有小成,发帖:1121) 发表:2005-04-05 09:47:34  楼主  关注此帖
关于 java 2D 占用内存的问题
刚刚开始接触 Java 2D, 要处理比较大的图片(4000×4000 的gif)。 发现用window 自带的看图工具打开只需要 大概6,7M的内存, 可是用java 2D的drawImage画出来 居然用了60M。。

怎样可以减少内存占用啊? 因为我后面还有10000×10000的图要画呢。。这样电脑不是要暴拉
live like an animal.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:小Z (等级:5 - 略有小成,发帖:1121) 发表:2005-04-06 14:16:01  2楼
有点急, 各位帮帮忙啊
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:大力神 (等级:2 - 初出茅庐,发帖:53) 发表:2005-04-07 12:45:49  3楼 评分:
试试看,我不是专家
我想,java可能把gif转换成了位图,所以才会那么大。4000 X 4000 差不多是32M,如果每个象素用1个字节(gif应该够了吧),那么占用内存就是32M了。java要追求跨平台,大概位图就是跨平台的首选了。

windows可能作了优化了,呵呵,废话。那么,有什么办法呢?1。试试不用drawImage,看看文档里还有没有别的函数可以调用。2。你自己处理文件的读写和绘制。内存中之保存原始的GIF文件,而不是他的位图形式。另外开个缓冲区,把目前正在显示的区域转换成位图存入,显示时从这个缓冲区读数据。不过,你必须对gif格式有深入的了解。1024x768的分辨率来说,内存差不多是6-7M吧。

全党抛砖引玉了,祝好运!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:小Z (等级:5 - 略有小成,发帖:1121) 发表:2005-04-12 17:09:00  4楼
试试看,我不是专家我想,java可能把gif转换成了位图,所以才会那么大。4000 X 4000 差不多是32M,如果每个象素用1个字节(gif应该够了吧),那么占用内存就是32M了。java要追求跨平台,大概位图就是跨平台的首选了。 windows可能作了优化了,呵呵,废话。那么,有什么办法呢?1。试试不用drawImage,看看文档里还有没有别的函数可以调用。2。你自己处理文件的读写和绘制。内存中之保存原始的GIF文件,而不是他的位图形式。另外开个缓冲区,把目前正在显示的区域转换成位图存入,显示时从这个缓冲区读数据。不过,你必须对gif格式有深入的了解。1024x768的分辨率来说,内存差不多是6-7M吧。 全党抛砖引玉了,祝好运!
感谢 大力神^_^
我看了一些关于图像格式的资料, 没看懂-_-|||

所以决定把大图切小, 然后一点一点load..希望可以成功^_^

谢谢了^_^
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
论坛导航 -> 华新鲜事 -> 技术の宅 | 返回上一页 | 本主题共有 4 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码