下面是主要代码:
publicclassGameSurfaceviewextendsSurfaceViewimplements
SurfaceHolder.Callback{
...........................................

publicbooleanonTouchEvent(MotionEventevent){
if(event.getAction()==MotionEvent.ACTION_DOWN){
intx=getIndex(event.getX());
inty=getIndex(event.getY());
Canvascanvas=holder.lockCanvas();
canvas.drawBitmap(blackchess,x,y,paint);
holder.unlockCanvasAndPost(canvas);
}

returnsuper.onTouchEvent(event);
}
...............................

点击屏幕时总是会黑屏当再次点击时才会回复正常然后再点击又会黑屏............

3 个解决方案

#1


Canvascanvas=holder.lockCanvas();
canvas.drawBitmap(blackchess,x,y,paint);
holder.unlockCanvasAndPost(canvas);
把画图抽取个draw方法,放到线程中,你的是每点一次刷一次屏幕,如果放到线程中就不停的刷,就不会这样了!

更多相关文章

  1. Android学习笔记(三一):线程:Message和Runnable
  2. android多线程数据存储 - ThreadLocal的工作原理
  3. java基础---多线程---java内存模型
  4. java 使用Callable和Future返回线程执行的结果
  5. Java多线程聊天对话框
  6. Android 多线程下载文件原理霸气解析介绍 (完结版)-----greendao
  7. Java多线程六:线程优先级和yield()让步函数
  8. java多线程爬虫
  9. javafx 和netty 混合使用出现线程不一致问题,求大神指点

随机推荐

  1. 161205、win10安装mysql5.7.16数据库
  2. PHP数据库类的封装
  3. docker mysql authentication_string cli
  4. MySQL + KeepAlived + LVS 单点写入主主
  5. python pymysql连接数据库pymysql.err.Op
  6. ERROR 2002 (HY000): Can't connect to l
  7. Linux第二篇----使用rpm方法安装MySQL(含
  8. mysql-5.5配置主从 及 主主关系
  9. 在Windows Mobile和MySQL之间同步DB
  10. 如何使用mysqldump在帐户之间复制视图?