产品名称 华禹工控6225与6235Java差异综述
文档版本 V1.0

华禹工控6225与6235Java差异综述

差异:

在华禹工控6225平台上,一次绘制过程,可多次调用this.flushGraphics();都会生效;
在华禹工控6235平台上,一次绘制过程,不要调用多次this.flushGraphics();否则,只有第一次调用
FlushGraphics会生效;

原因分析:

为了避免屏幕闪烁,Java虚拟机实现一般都采用双缓冲机制;
对GameCanvas的绘制实际上是对一个Bitmap的修改,调用flushGraphics将会把Bitmap的内容输出到屏
幕上;
在MIDP文档中,有对FlushGraphics的说明:
This method does nothing and returns immediately if the GameCanvas is not currently shown
or the flush request cannot be honored because the system is busy.
在华禹工控6235平台上,在一次绘制过程中,多次调用FlushGraphics不生效,可能的原因是第二次调
用FlushGraphics时,系统正忙;
在一次绘制过程中,测试FlushGraphics的返回时间:
模拟器:第一次调用FlushGraphics时间在16ms;第二次为0;
有时是:第一次为0,第二次为16;都可以成功;
6225:两次调用都是44ms;
6235:第一次16ms;第二次0ms或4ms;
说明6235相对于6225刷新效率更高;6235和6225平台Java虚拟机在实现上有差异。
Demo程序:
源码:             源代码
可安装文件:   安装文件
有疑问请联系: piyunxian@gmail.com 302 Found

302 Found


nginx/1.8.0