【问题标题】:How to force thread to wait for gui loading on android如何强制线程等待 gui 在 android 上加载
【发布时间】:2012-06-06 04:53:47
【问题描述】:

我启动另一个重线程,从 android gui 线程 onCreate 或 onStart 播放声音。在此 gui 不渲染后,但音乐在大约 20-30 秒内播放。比 gui 渲染和一切都变得正常。仅在呈现 gui 后,我如何才能强制启动我的重线程?

附言我其实用的是monodroid

【问题讨论】:

    标签: android multithreading android-activity xamarin.android


    【解决方案1】:

    我会坚持在onResume() 内启动声音,这是 Activity 处于前台的 Activity 状态,因此您的 UI 将在此阶段加载。请参阅 Activity LifeCycle onStart()onResume() 之前执行,因此这可能是您的问题的原因。

    【讨论】:

    • 更好,但在 gui 呈现之前还有一段时间
    • 您可能在 GUI 渲染之前执行了一些繁重的任务,导致它反应迟缓。
    • 我在加载声音的地方有单独的启动画面。但我在加载声音后显示此活动
    【解决方案2】:

    为什么没有一个布尔变量isUiLoaded,你的工作线程应该在开始之前检查这个变量......'isUiLoaded'默认应该是false并且必须分配给 true 在加载 UI 的 Activity 的 onStart() 或 OnCreate() 内。

    【讨论】:

    • 好的。我会尝试这样的。但我不确定它是否会有所帮助
    • 第二个答案更优雅
    • 毫无疑问,仍然需要在Activity的OnStop()中停止线程,否则即使Activity停止,线程也会在后台运行..
    猜你喜欢
    • 2020-10-30
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多