是这样的,现在我在写一个用JAVA截取屏幕操作的问题,一开始实现的原理是将截取的屏幕图片(JPEG格式)用ArrayList储存,当截取结束时再将ArrayList里的图片写到gif文件里,但是这种做法内存占用很高,所以我就想把每次截取的图片写到本地磁盘上,最后再将多个jpeg文件合并为gif文件。
现在的问题是我很担心这种做法对磁盘的读写频率是否过高。我的动态图片是每秒十祯的,这意味着在程序运行时,代码每秒钟会在磁盘中创建10个jpeg文件,平均每100豪秒创建一个,每个jpeg文件大小在100K左右,并且是连续运行4到5个小时,当图片的数量超过120张时,则移除第一张图片并写入新图片,如此往复;那么我想请问大家,在这种情况下,会不会对磁盘造成很大的伤害,大家觉的这种做法是否可取呢?

解决方案 »

  1.   

    我认为不可取,操作硬盘远远比操作内存费时,你用内存会占用很高,你用硬盘估计效率很低,是不是可以选一个折中的方法,比如先放入内存,限制为20个文件,当超过的时候,再去写一部分到硬盘中,这样折中我想会好一点,没有弄过截屏,提个建议,有利有弊,折中为上,有更好的技术去解决就更好了,我关注