有些时候我们可能在j2me中遇到画面闪烁的问题,这时候我们可以应用双缓冲的技术来解决,不过由于现在越来越多的手机自身就支持双缓冲了.所以这里只做个简单的介绍.
canvas类提供了isdoublebuffered()方法来判断设备是不是支持这个功能,如果返回true的话,那么我们就没有必要使用双缓冲了,如果false的话,我们可以这么做:public doublecanvas(uicontroller uicontroller) { super(); this.uicontroller = uicontroller; width = this.getwidth(); height = this.getheight(); this.setcommandlistener(this); if(!isdoublebuffered()) { offimage = image.createimage(width,height); } // todo auto-generated constructor stub } 【程序编程相关:Java中static、this、sup】
我写了程序本来想在nokia 6108上比较用与不用的区别,结果这个手机自己就支持双缓冲,所以根本没有比较出来.不过了解这个技术还是有必要的,所以我决定还是写出来.双缓冲本来是在开发pc应用程序的时候遇到的.在midp开发中同样存在,当你在屏幕上进行原始写画的时候,如果很复杂的话,用户会发现界面在闪烁.因此你可以这样做,首先在另一个图片上进行paint()得操作,当完成了以后就把它copy到屏幕上,由于通常copy得时候速度很快就不会出现闪烁了.这个技术就是双缓冲. 【推荐阅读:Java发展展望】
... 下一页