SurfaceView连续渲染SurfaceHolderCanvas-创新互联
Canvas canvas = holder.lockCanvas(); canvas.drawRGB(255, 0, 0); holder.unlockCanvasAndPost(canvas);
第一行,锁定Surface用于渲染并返回一个可用的Canvas
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的衡东网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!第二行,解锁Surface并确保通过Canvas进行绘制的内容可显示到屏幕上
例子:
import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.view.Menu; import android.view.SurfaceHolder; import android.view.SurfaceView; public class MainActivity extends Activity { FastRenderView renderView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); renderView = new FastRenderView(this); setContentView(renderView); } protected void onResume() {//重载 super.onResume(); renderView.resume(); } class FastRenderView extends SurfaceView implements Runnable { Thread renderThread = null; SurfaceHolder holder = null; volatile boolean running = false; public FastRenderView(Context context) { super(context); holder = getHolder(); } public void resume()//自定义 { running = true; renderThread.start(); } public void run() { while(running) { if(!holder.getSurface().isValid()) continue; Canvas canvas = holder.lockCanvas(); canvas.drawRGB(255, 0, 0); holder.unlockCanvasAndPost(canvas); } } public void pause()//自定义 { running = false; while(true) { try { renderThread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:SurfaceView连续渲染SurfaceHolderCanvas-创新互联
文章出自:http://cdiso.cn/article/csjpsc.html