日期:2014-05-20  浏览次数:20649 次

关于变量不断的赋值和滞空问题
问题是这样的:为了对内存的节约使用,有些占内存比较大的变量,想使其在使用时创建,不需要时就将其null
               释放其占有的内存。那么JVM就会回收那些空引用的对象。
               比如, 现在做一个有100页的书,每页都是一个JPanel上画一个BufferedImage,
             我不需要把100个BufferedImage全部放到内存中,只需要显示的BufferedImage,那么当翻页时
             动态的去删除不需要的BufferedImage和创建需要的BufferedImage。但是发现这种情况有时候会
             出错,并不是每次都能成功的,发现创建的BufferedImage画到jPanel上是空的。
               很奇怪,是不是这样高频率的删除与创建,从而影响了对象的引用,导致变量的引用不
             准确了????请高手指教这个问题,不甚感激,谢谢。

              
?

------解决方案--------------------
不像是你说的这个问题,报的什么错?
------解决方案--------------------
这些"占用内存比较大的变量"通常创建速度是比较慢的,高频率的创建和删除可能会在尚未创建完成时被调用,那就是一个空图,LZ可以加一些代码验证一下这种情况。
------解决方案--------------------
引用:
引用:这些"占用内存比较大的变量"通常创建速度是比较慢的,高频率的创建和删除可能会在尚未创建完成时被调用,那就是一个空图,LZ可以加一些代码验证一下这种情况。
嗯 , 可是单线程程序不应该是按顺序执行的吗,如果是先创建再删除,在单线程里应该是等创建完成再删除的吗?

你的翻页操作也是按顺序执行么?比如当点击翻页就锁定整个界面直到图片加载完成应该就没问题了。
------解决方案--------------------
愚见。。。可以试试单例么。。。

无论创建多少对象,都是同一个实例。。