SurfaceProvider绘制延迟

SurfaceProvider  子线程调用主线程进行绘制有延迟(绘制相关操作是放在onDraw()里面,  目前是停止绘制, 打断子线程,绘制停止会延后两秒左右)   

请问有什么更好的方式. (如果直接放在子线程绘制, 会没有显示.) 

HarmonyOS, 线程
2021-03-08 11:37:11
浏览
已于2021-3-8 12:00:55修改
1
收藏 0
回答 4
已解决
回答 4
按赞同
/
按时间
阿拉灯婶丁

停止绘制 打断子进程 是个什么概念?绘画停止延后2秒是什么意思?

也详细描述该场景?

分享
微博
QQ
微信
回复
2021-03-08 18:20:13
Applepotato

用SurfaceProvider做一个曲线滚动的效果.  曲线滚动效果由两个SurfaceProvider完成(前一个是抽象的A,  后一个是继承自A的SurfaceProviderB)

Demo点击start启动曲线滚动(点击后,  会通过SurfaceProviderA启动 SurfaceProviderB中的子线程,  子线程的run()中的调用自身接口方法A1, 因而会启动SurfaceProviderA中的A1方法, SurfaceProviderA中的 A1()通过EventHandler调用参数,invalidate()更新A中的onDraw()绘制流程   );  Demo 点击stop停止曲线滚动.  会通过SurfaceProviderA中断SurfaceProviderB中正在运行的线程(Thread.interupt),  中断线程后,绘制流程会停止.  目前问题在于中断后曲线依然会运行1-3秒时间. (类似的Android项目中可以做到几乎同时停止(点击停止按钮后,曲线立即不再滚动))    有什么办法, 在点击stop后不再看到曲线滚动(实现和Android一样的停止绘制功能)

已于2021-3-8 19:19:53修改
分享
微博
QQ
微信
回复
2021-03-08 19:10:56
白鹿白鹿

太可怕了,模拟器和真机效果天差地别。转真机就没事了,华为加油

分享
微博
QQ
微信
回复2
2021-03-09 22:40:39
三石SOFT

有没有鸿蒙画3d图的例子,源码

分享
微博
QQ
微信
回复
2021-06-05 20:19:41
相关问题
harmony surfaceProvider绘制不显示问题
5053浏览 • 4回复 待解决
鸿蒙如何实现位图绘制
4533浏览 • 1回复 待解决
DevEco Stduio如何绘制折线图
710浏览 • 1回复 待解决
那我绘制的图片要怎么获取呢?
407浏览 • 1回复 待解决
开发手机程序可以导入JS库吗
2055浏览 • 4回复 待解决
鸿蒙js如何获取设备屏幕宽和高?
584浏览 • 1回复 待解决
如何将一张图片转化为PixelMapElement
4926浏览 • 1回复 待解决
JS UI框架中canvas如何动态指定宽高
1961浏览 • 1回复 待解决
关系数据库如何保存图片?
2785浏览 • 2回复 待解决
页面之间的跳转方式怎么设置的
1759浏览 • 1回复 待解决
DevEco Studio无法登陆 一直这个画面
5410浏览 • 2回复 已解决