使用处理程序可能会加速数据显示?

时间:2015-02-24 11:54:45

标签: android concurrency handler android-handler

在我正在开发的应用程序中,我有一个包含6个TextView的布局,这些文本视图将显示从服务器以非常高的速率接收的数据。到目前为止,我设置了 我收到textview的值,但是当我运行App时。由于以非常高的速率发送的值,textview显示的数据变化非常慢。

例如,服务器在一秒钟内发送几乎100行,并且这100行中的数据应该由TextViews显示..但是,正如您所注意到的那样, 发送dtat的速率很快,TextViews在发送时无法显示所有数据。

我想要做的是,能够使用textViews显示这些频繁的数据,但没有滞后或延迟显示数据,就像你怎么看 传感器数据显示在textView。

鉴于上述问题,使用处理程序可能有帮助吗?

2 个答案:

答案 0 :(得分:1)

  

鉴于上述问题,使用处理程序可能有帮助吗?

要回答您的问题,这是docsHandler所说的内容:

  

Handler有两个主要用途:
  (1)安排消息和runnables作为未来某个点执行;和
  (2)将要在不同于自己的线程上执行的动作排入队列。

谦虚地说,我看不到Handler如何帮助你实现你想要的目标 你在一个单独的线程中提出你的http请求吗? (如果没有,那么你应该)

另外,我不确定我是否理解TextViewsvery high rate from server之间的联系。

答案 1 :(得分:0)

处理程序只是一种在主线程中运行Runnable的方法。您不应该将服务器的输出直接插入GUI,因为您可能会堵塞主线程。 如果您以高频率下载,我建议将下载的数据存储在内存中(或者如果需要可以保留),并让GUI以较慢的速度读取这些中间数据。