试试看,我不是专家
我想,java可能把gif转换成了位图,所以才会那么大。4000 X 4000 差不多是32M,如果每个象素用1个字节(gif应该够了吧),那么占用内存就是32M了。java要追求跨平台,大概位图就是跨平台的首选了。
windows可能作了优化了,呵呵,废话。那么,有什么办法呢?1。试试不用drawImage,看看文档里还有没有别的函数可以调用。2。你自己处理文件的读写和绘制。内存中之保存原始的GIF文件,而不是他的位图形式。另外开个缓冲区,把目前正在显示的区域转换成位图存入,显示时从这个缓冲区读数据。不过,你必须对gif格式有深入的了解。1024x768的分辨率来说,内存差不多是6-7M吧。
全党抛砖引玉了,祝好运!
windows可能作了优化了,呵呵,废话。那么,有什么办法呢?1。试试不用drawImage,看看文档里还有没有别的函数可以调用。2。你自己处理文件的读写和绘制。内存中之保存原始的GIF文件,而不是他的位图形式。另外开个缓冲区,把目前正在显示的区域转换成位图存入,显示时从这个缓冲区读数据。不过,你必须对gif格式有深入的了解。1024x768的分辨率来说,内存差不多是6-7M吧。
全党抛砖引玉了,祝好运!