【问题标题】:Can I create UI outside main thread (UI Thread)?我可以在主线程(UI 线程)之外创建 UI 吗?
【发布时间】:2013-04-09 18:12:34
【问题描述】:

出于充分的理由(计算数百个视图的测量值),我的 UI 生成时间很长(大约 20 秒)。 我(想?)必须在主线程中创建它们,然后我运行一个进度对话框让用户等待。 虽然,主线程已经被其他计算的创建超载了。 我是否可以在主线程之外创建 UI,尽管我必须测量多个视图?

【问题讨论】:

  • 我认为如果你真的有数百个观点,你就做错了。您可能想要使用 ListView。
  • “我的 UI 生成时间很长(大约 20 秒),原因很充分(计算数百个视图的测量值)”——“计算数百个视图的测量值”应该需要几毫秒。除了一开始就没有“数百个视图”的反复建议之外,使用 Traceview 找出为什么要花这么长时间。

标签: android user-interface views


【解决方案1】:

虽然有些人说他们已经让它工作了,Dianne and Romain say 都认为你不应该在讨论中这样做,因为整个 UI 树是单线程的。他们说它不能保证有效,应该避免。

我想不出任何需要同时实例化和绘制数百个视图的场景。也许您需要使用 ListView,或者在您的应用中实现某种延迟加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多