RT 。。之前使用的 MPAndroidChart 。可是测了 5 分钟的心电数据后,性能消耗的太多了,效果不理想。 现在用的是 SurfaceView ,可绘制第一屏之后,就顿感乏力啊,后续的显示就不清楚怎么实现了。 有人有好的方案么?求告知
1
shui14 2016-07-19 18:31:11 +08:00
android 不是有 canvas 类 js 都可以绘折线图
|
3
huyanqi 2016-07-19 19:00:46 +08:00 1
|
4
Chrisplus 2016-07-19 19:16:39 +08:00
用过 MPAndroidChart, 使用 Dynamic plot 几分钟过后确实 GC 很频繁.
其实这种情况下,不考虑通用的图表功能, 应该自己写画图 |
5
hush OP @huyanqi 很谢谢啊,现在不知道能不能保留刷新,这个像是把内容清除之后再从头开始绘制,不知道能不能像医用的心电仪一样的显示
|
8
hush OP @huyanqi 吖···我们 IOS 是这样实现的,还以为他们是仿的心电仪呢。我现在网上视频找了下,是像你说的那样的。很感谢你哈~
|
9
warcraft1236 2016-07-20 10:15:57 +08:00
目测医疗公司的员工
|
10
inmyfree 2016-07-20 10:24:35 +08:00 1
@hush 心电图没做过,只做过防 iphone 录音机的波形图,但是应该不难,原理就是先保存一个数组(如, 200 个点),用来存放一个屏幕大小的心跳值,第一次的时候从左往右绘制,等到绘制到 200 个点的时候,采集新点,先把之前的 0 值移除,后面 append 新值,然后重新从 0 开始绘制,这样基本就可以了
优化手段可以从复用出发,把 1~200 的保存下来,然后移动到 0~199 上,再绘制 200 的坐标点,理论上是可以优化,但是没有去做过 |
11
hush OP @inmyfree 在屏幕上沒有點的時候是一个一个绘制出来,和我现在处理方法一致的;到了第二屏:之后的屏幕是不是每次都是画满屏的点,其中保留部分值和添加新点,再按一定的频率刷新。这样走出来的效果像是折线图在移动一样吗?优化方面:(1) 能不能像 SurfaceView 的 lockCanvas 一样只处理部分的点 ; (2) 或者是用 SurfaceView 的双缓存机制,提高绘制效果? 这 2 个方案的可行性哪个会比较大啊?
|
13
inmyfree 2016-07-20 12:55:43 +08:00
@hush 1 , 2 都可以,只是我觉得这个没必要动用 SurfaceView ,直接继承 View 就可以了
append 的意思就是我只保留 200 个点,每次更新的时候移除第一个点,添加一个新点,这样做一个周期 调用的时间就是添加一个数据点时调用 |
14
hush OP @inmyfree 嗯,好的;第二屏之后的绘制就是把整合好的数据直接显示,通过不断的刷新来实现效果。像放电影一样,我要处理每一帧数据。
|
15
andychen20121130 2016-07-20 14:13:18 +08:00
哥年前刚脱离苦海,不是说难,而是不用再耗下 去了。
|
16
hush OP @andychen20121130 哈,你最后是怎么处理的,我现在还要生成个.pdf 的心电报告,,,,我是不是要回头是岸啊
|
17
qile1 2016-07-20 20:55:08 +08:00 via Android
你们能给推荐一个有偿的网络版的心电系统,急需?
非常感谢,短信我:186 四期二三二九一六 |