专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 图形/图像

Android画图多线程环境下图形一会儿显示一会儿不显示有关问题

发布时间:2011-06-27 19:39:49 文章来源:www.iduyao.cn 采编人员:星星草
Android画图多线程环境下图形一会儿显示一会儿不显示问题

场景描述:

    近期在画股票分时图的过程中,遇到一个问题,用Android的Canvas绘制图形之后,在ViewPager间进行来回切换(切换时有数据请求,数据请求到之后画图形),图形会一时隐藏,一时显示。这种现象让我挺伤神,不过最终经过自己的努力,终于将这个问题解决了,现在将解决这一问题的过程及分析思路加以记录。

 

分析及解决问题:

    1、刚开始怀疑是数据没有获取到,所以图形绘制不出来,然而经过断点调试,发现不是这个问题,数据已经获取完整,并且没有任何异常。

    2、接下来怀疑是否数据填充后,需要对界面视图做一次刷新,但问题是,为什么有些时候又可以出来,而有些时候又不能显示出来。

    3、接下来怀疑到了多线程交互,当通过子线程将数据获取到之后,马上绘制图形,绘制好图形之后,View很可能不能立马显示,因此这时候就需要刷新,那么用哪个刷新方法呢?用invalidate()显然只适合在主线程中进行视图刷新,而postInvalidate()方法即适合主线程刷新,又适合子线程刷新,因此我在子线程获取到数据之后,将数据通过Canvas画到View上,然后立即用postInvalidate()方法刷新,结果问题解决。

 

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: