您好,登錄后才能下訂單哦!
小編給大家分享一下Java如何實現雙緩存,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
import java.awt.*; import java.applet.*; public class HelloWorld extends Applet { private Image imgBuf; private Graphics gBuf; Thread lithread=null; private int i=0; public void init() { imgBuf=createImage(getSize().width,getSize().height); gBuf=imgBuf.getGraphics(); gBuf.setColor(Color.black); gBuf.fillRect(0,0,getSize().width,getSize().height); gBuf.setColor(Color.white); gBuf.drawLine(0,10,getSize().width-1,10); gBuf.drawLine(0,30,getSize().width-1,30); gBuf.drawLine(0,50,getSize().width-1,50); gBuf.drawLine(0,70,getSize().width-1,70); gBuf.drawLine(0,90,getSize().width-1,90); gBuf.drawLine(0,110,getSize().width-1,110); gBuf.drawLine(0,130,getSize().width-1,130); gBuf.setColor(Color.red); gBuf.drawRect(0,0,getSize().width-1,getSize().height-1); } public void start() { if(lithread==null) { lithread=new Thread(); lithread.start(); } } public void stop() { lithread=null; } public void paint(Graphics g) { g.drawImage(imgBuf,0,0,this); gBuf.setColor(Color.black); gBuf.fillRect(0,0,getSize().width,getSize().height); gBuf.setColor(Color.white); gBuf.drawLine(0,10,getSize().width-1,10); gBuf.drawLine(0,30,getSize().width-1,30); gBuf.drawLine(0,50,getSize().width-1,50); gBuf.drawLine(0,70,getSize().width-1,70); gBuf.drawLine(0,90,getSize().width-1,90); gBuf.drawLine(0,110,getSize().width-1,110); gBuf.drawLine(0,130,getSize().width-1,130); gBuf.setColor(Color.green); gBuf.drawRect(50-i,50-i,200-i,100-i); try { lithread.sleep(1000); } catch(InterruptedException e) { } i++; repaint(); } public void update(Graphics g) { paint(g); } }
雙緩存技術:
圖像閃爍的根本原因是當一幅圖像顯示完需要花下一幅時,首先將屏幕用背景色清除,然后再畫下一幅,因此人們能看到背景色因此出現閃爍.
當一幅圖像在顯示的時候,下一幅要顯示的圖像已經在內存中寫好,因此,當需要下一幅時可以直接通過函數從內存中一次性獨到顯示區,由于從內存中讀出速度很快,所以看不到閃爍.
以上是“Java如何實現雙緩存”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。