在我正在开发的应用程序中,我有一个包含6个TextView的布局,这些文本视图将显示从服务器以非常高的速率接收的数据。到目前为止,我设置了 我收到textview的值,但是当我运行App时。由于以非常高的速率发送的值,textview显示的数据变化非常慢。
例如,服务器在一秒钟内发送几乎100行,并且这100行中的数据应该由TextViews显示..但是,正如您所注意到的那样, 发送dtat的速率很快,TextViews在发送时无法显示所有数据。
我想要做的是,能够使用textViews显示这些频繁的数据,但没有滞后或延迟显示数据,就像你怎么看 传感器数据显示在textView。
鉴于上述问题,使用处理程序可能有帮助吗?
答案 0 :(得分:1)
鉴于上述问题,使用处理程序可能有帮助吗?
要回答您的问题,这是docs对Handler
所说的内容:
Handler有两个主要用途:
(1)安排消息和runnables作为未来某个点执行;和
(2)将要在不同于自己的线程上执行的动作排入队列。
谦虚地说,我看不到Handler如何帮助你实现你想要的目标 你在一个单独的线程中提出你的http请求吗? (如果没有,那么你应该)
另外,我不确定我是否理解TextViews
和very high rate from server
之间的联系。
答案 1 :(得分:0)
处理程序只是一种在主线程中运行Runnable的方法。您不应该将服务器的输出直接插入GUI,因为您可能会堵塞主线程。 如果您以高频率下载,我建议将下载的数据存储在内存中(或者如果需要可以保留),并让GUI以较慢的速度读取这些中间数据。