public class BufferMovingCircle extends NoBufferMovingCircle {
Graphics doubleBuffer = null; //缓冲区
public void init() {
super init()
doubleBuffer = screenImage getGraphics()
}
public void paint(Graphics g) { //使用缓冲区 优化原有的paint()方法
doubleBuffer setColor(Color white) //先在内存中画图
doubleBuffer fillRect( )
drawCircle(doubleBuffer)
g drawImage(screenImage this) //将buffer一次性显示出来
}
}
加上缓冲区后 动画的显示要比之前清晰了许多 并且没有抖动和白光的出现
除了性能上的优化 缓冲区还可以作为上层组件和下层组件的一种通信工具 从而 将上层组件和下层组件进行解耦 优化设计结构 典型的案例可以参考本书第 章 生产者消费者模式 一节 在生产者消费者模式 连接生产者和消费者的缓冲区正是起到这个作用 有兴趣的读者 可以仔细阅读该节
注意 由于I/O *** 作很容易成为性能瓶颈 所以 尽可能在I/O读写中加入缓冲组件 以提高系统的性能
返回目录 Java程序性能优化 让你的Java程序更快 更稳定
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
J ME移动开发实战教学视频
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
lishixinzhi/Article/program/Java/gj/201311/27806
以上就是关于Java程序性能优化-缓冲(Buffer)(2)[2]全部的内容,包括:Java程序性能优化-缓冲(Buffer)(2)[2]、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)