Android 心电图绘制该如何实现啊

2016-07-19 18:20:23 +08:00
 hush

RT 。。之前使用的 MPAndroidChart 。可是测了 5 分钟的心电数据后,性能消耗的太多了,效果不理想。 现在用的是 SurfaceView ,可绘制第一屏之后,就顿感乏力啊,后续的显示就不清楚怎么实现了。 有人有好的方案么?求告知

12319 次点击
所在节点    Android
17 条回复
shui14
2016-07-19 18:31:11 +08:00
android 不是有 canvas 类 js 都可以绘折线图
hush
2016-07-19 18:39:02 +08:00
@shui14 我第一屏实现没问题,主要是后续的移动
huyanqi
2016-07-19 19:00:46 +08:00
Chrisplus
2016-07-19 19:16:39 +08:00
用过 MPAndroidChart, 使用 Dynamic plot 几分钟过后确实 GC 很频繁.
其实这种情况下,不考虑通用的图表功能, 应该自己写画图
hush
2016-07-19 19:23:49 +08:00
@huyanqi 很谢谢啊,现在不知道能不能保留刷新,这个像是把内容清除之后再从头开始绘制,不知道能不能像医用的心电仪一样的显示
hush
2016-07-19 19:25:02 +08:00
@Chrisplus 对的啊,我现在就在画图,不明白如何实现。。。有思路吗?
huyanqi
2016-07-19 19:33:26 +08:00
@hush 心电仪不是超出屏幕后从头绘制的么?
hush
2016-07-19 19:51:17 +08:00
@huyanqi 吖···我们 IOS 是这样实现的,还以为他们是仿的心电仪呢。我现在网上视频找了下,是像你说的那样的。很感谢你哈~
warcraft1236
2016-07-20 10:15:57 +08:00
目测医疗公司的员工
inmyfree
2016-07-20 10:24:35 +08:00
@hush 心电图没做过,只做过防 iphone 录音机的波形图,但是应该不难,原理就是先保存一个数组(如, 200 个点),用来存放一个屏幕大小的心跳值,第一次的时候从左往右绘制,等到绘制到 200 个点的时候,采集新点,先把之前的 0 值移除,后面 append 新值,然后重新从 0 开始绘制,这样基本就可以了

优化手段可以从复用出发,把 1~200 的保存下来,然后移动到 0~199 上,再绘制 200 的坐标点,理论上是可以优化,但是没有去做过


hush
2016-07-20 11:46:41 +08:00
@inmyfree 在屏幕上沒有點的時候是一个一个绘制出来,和我现在处理方法一致的;到了第二屏:之后的屏幕是不是每次都是画满屏的点,其中保留部分值和添加新点,再按一定的频率刷新。这样走出来的效果像是折线图在移动一样吗?优化方面:(1) 能不能像 SurfaceView 的 lockCanvas 一样只处理部分的点 ; (2) 或者是用 SurfaceView 的双缓存机制,提高绘制效果? 这 2 个方案的可行性哪个会比较大啊?
hush
2016-07-20 11:49:25 +08:00
@inmyfree 另外, append 的方法是在哪里调用的?或者是一个比喻的?
inmyfree
2016-07-20 12:55:43 +08:00
@hush 1 , 2 都可以,只是我觉得这个没必要动用 SurfaceView ,直接继承 View 就可以了
append 的意思就是我只保留 200 个点,每次更新的时候移除第一个点,添加一个新点,这样做一个周期
调用的时间就是添加一个数据点时调用
hush
2016-07-20 13:41:39 +08:00
@inmyfree 嗯,好的;第二屏之后的绘制就是把整合好的数据直接显示,通过不断的刷新来实现效果。像放电影一样,我要处理每一帧数据。
andychen20121130
2016-07-20 14:13:18 +08:00
哥年前刚脱离苦海,不是说难,而是不用再耗下 去了。
hush
2016-07-20 14:25:07 +08:00
@andychen20121130 哈,你最后是怎么处理的,我现在还要生成个.pdf 的心电报告,,,,我是不是要回头是岸啊
qile1
2016-07-20 20:55:08 +08:00
你们能给推荐一个有偿的网络版的心电系统,急需?
非常感谢,短信我:186 四期二三二九一六

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/293529

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX