public class BufferMovingCircle extends NoBufferMovingCircle {
Graphics doubleBuffer = null; //缓沖区
public void init() {
superinit()
doubleBuffer = screenImagegetGraphics()
}
public void paint(Graphics g) { //使用缓沖区优化原有的paint()方法
doubleBuffersetColor(Colorwhite) //先在内存中画图
doubleBufferfillRect( )
drawCircle(doubleBuffer)
gdrawImage(screenImage this) //将buffer一次性显示出来
}
}
加上缓沖区后动画的显示要比之前清晰了许多并且没有抖动和白光的出现
除了性能上的优化缓沖区还可以作为上层组件和下层组件的一种通信工具从而将上层组件和下层组件进行解耦优化设计结构典型的案例可以参考本书第章生产者消费者模式一节在生产者消费者模式连接生产者和消费者的缓沖区正是起到这个作用有兴趣的读者可以仔细阅读该节
注意由于I/O操作很容易成为性能瓶颈所以尽可能在I/O读写中加入缓沖组件以提高系统的性能
返回目录Java程序性能优化让你的Java程序更快更稳定
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
JME移动开发实战教学视频
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南
[] []