有关surfaceview的多线程绘图问题 surfaceview线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果我没记错,surfaceview确实可以由非ui线程直接调用类似下面的代码Canvas canvas = null;try { canvas = m_surfaceHolder.lockCanvas(); synchronized (m_surfaceHolder) { canvas.drawBitmap(......); }} catch (Exception e) {} finally { if (canvas != null) { m_surfaceHolder.unlockCanvasAndPost(canvas); }}但是你调用的地方要有类似这种synchronized代码来保证不能有多个线程同时访问canvas交替执行是不会清除之前绘制的,所谓每次都画完整的,应该不是楼主担心的问题,我的理解是相反的一件事,比如做个画板,想清除之前的笔迹,但已经有一个背景图,此时最简单的办法是整个view重绘,否则只能通过部分刷新,还要从背景图中取出这一部分来贴上去,会很麻烦 华为平板电脑软件开发不能进入调试——求解 使用rokon的几个问题 请教~~~ android源码中添加联系人成功时出现返回2个不同的界面 frameAnimation显示动画的位置如何设定? 一个很简单却被忽视了的问题 android TimePickerDialog 的问题 android Framework层 JNI方法,是在何进装载动态库的? 如题android 中的窗口小部件必须通过用户来添加?不能通过程序代码做到? 关于安卓4.4定时机制的选择 求一正则表达式 真机2G网络json解析天气 大家新年好啊 问个问题android junit test不捕获异常
try {
canvas = m_surfaceHolder.lockCanvas();
synchronized (m_surfaceHolder) {
canvas.drawBitmap(......);
}
} catch (Exception e) {
} finally {
if (canvas != null) {
m_surfaceHolder.unlockCanvasAndPost(canvas);
}
}但是你调用的地方要有类似这种synchronized代码来保证不能有多个线程同时访问canvas
交替执行是不会清除之前绘制的,所谓每次都画完整的,应该不是楼主担心的问题,我的理解是相反的一件事,比如做个画板,想清除之前的笔迹,但已经有一个背景图,此时最简单的办法是整个view重绘,否则只能通过部分刷新,还要从背景图中取出这一部分来贴上去,会很麻烦