试试看,我不是专家
登录 | 论坛导航 -> 华新鲜事 -> 技术の宅 | 本帖共有 1 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:大力神 (等级:2 - 初出茅庐,发帖:53) 发表:2005-04-07 12:45:49  楼主  关注此帖评分:
关于 java 2D 占用内存的问题刚刚开始接触 Java 2D, 要处理比较大的图片(4000×4000 的gif)。 发现用window 自带的看图工具打开只需要 大概6,7M的内存, 可是用java 2D的drawImage画出来 居然用了60M。。 怎样可以减少内存占用啊? 因为我后面还有10000×10000的图要画呢。。这样电脑不是要暴拉
试试看,我不是专家
我想,java可能把gif转换成了位图,所以才会那么大。4000 X 4000 差不多是32M,如果每个象素用1个字节(gif应该够了吧),那么占用内存就是32M了。java要追求跨平台,大概位图就是跨平台的首选了。

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

全党抛砖引玉了,祝好运!
Put your OWN COOL signature here!
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 技术の宅 | 返回上一页 | 本主题共有 1 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码