gpt4 book ai didi

android - PostDelayed 或 Thread with thread.sleep()

转载 作者:行者123 更新时间:2023-11-29 20:54:49 24 4
gpt4 key购买 nike

如果我需要在 Activity 可见时每秒更新一次 UI 组件(比如 textview)。您会建议创建一个执行 postOnUi 调用的线程(使用 thread.sleep)还是我使用带有 postDelayed 的处理程序?

如果我有多个 TextView ,我不确定哪个会更有效率

谢谢?

最佳答案

我认为您混淆了一些概念。 HandlerpostDelayed() 确实会在一段时间后运行 Runnable,但只会运行一次。

对于您想做的事情,您有多种选择:

  • 休眠 Thread 就是其中之一。这样做的一个缺点是 Thread 可能会导致异常,这样您的执行就会变得不稳定。此外,您将只有一个 Thread,即使它处于休眠状态也不会释放它,因此您正在使用一次可能不需要的资源。
  • 另一种方法是使用 AsyncTask。但是,对于短期任务,建议这样做。如果您计划长时间运行此任务,AsyncTask 可能不是一个好的选择。
  • 您可以使用Handler 运行后台Service 来更新UI。取决于您要实现的目标。
  • 您可能想看看 ScheduledExecutorService。它有一个名为 scheduleAtFixedRate() 的方法,它会执行此操作,每 X 次执行一个参数指定的 Runnable。更多信息 here .

关于android - PostDelayed 或 Thread with thread.sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28073207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com