Android 心电图绘制该如何实现啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hush
V2EX    Android

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

  •  
  •   hush 2016-07-19 18:20:23 +08:00 15587 次点击
    这是一个创建于 3372 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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


    hush
        11
    hush  
    OP
       2016-07-20 11:46:41 +08:00
    @inmyfree 在屏幕上有的候是一个一个绘制出来,和我现在处理方法一致的;到了第二屏:之后的屏幕是不是每次都是画满屏的点,其中保留部分值和添加新点,再按一定的频率刷新。这样走出来的效果像是折线图在移动一样吗?优化方面:(1) 能不能像 SurfaceView 的 lockCanvas 一样只处理部分的点 ; (2) 或者是用 SurfaceView 的双缓存机制,提高绘制效果? 这 2 个方案的可行性哪个会比较大啊?
    hush
        12
    hush  
    OP
       2016-07-20 11:49:25 +08:00
    @inmyfree 另外, append 的方法是在哪里调用的?或者是一个比喻的?
    inmyfree
        13
    inmyfree  
       2016-07-20 12:55:43 +08:00
    @hush 1 , 2 都可以,只是我觉得这个没必要动用 SurfaceView ,直接继承 View 就可以了
    append 的意思就是我只保留 200 个点,每次更新的时候移除第一个点,添加一个新点,这样做一个周期
    调用的时间就是添加一个数据点时调用
    hush
        14
    hush  
    OP
       2016-07-20 13:41:39 +08:00
    @inmyfree 嗯,好的;第二屏之后的绘制就是把整合好的数据直接显示,通过不断的刷新来实现效果。像放电影一样,我要处理每一帧数据。
    andychen20121130
        15
    andychen20121130  
       2016-07-20 14:13:18 +08:00
    哥年前刚脱离苦海,不是说难,而是不用再耗下 去了。
    hush
        16
    hush  
    OP
       2016-07-20 14:25:07 +08:00
    @andychen20121130 哈,你最后是怎么处理的,我现在还要生成个.pdf 的心电报告,,,,我是不是要回头是岸啊
    qile1
        17
    qile1  
       2016-07-20 20:55:08 +08:00 via Android
    你们能给推荐一个有偿的网络版的心电系统,急需?
    非常感谢,短信我:186 四期二三二九一六
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1378 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:40 PVG 00:40 LAX 09:40 JFK 12:40
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86