gpt4 book ai didi

multithreading - Locator.geocode(...) 在 OS 5 设备(Blackberry Java)中卡住/阻止 UI

转载 作者:行者123 更新时间:2023-12-03 12:56:08 25 4
gpt4 key购买 nike

在我的 BlackBerry 应用程序中,Locator.geocode(...)请求在 Thread 内但它仍然会阻止 OS 5 设备中的 UI。在 OS 6 和 7 设备中它工作正常。 UI 未被阻止。

从那一刻起Locator.geocode(...)被调用直到它完成 UI 被阻止并且用户无法与应用程序交互。

我想这是 OS 5 的问题。有解决方案吗?

更新:首先,感谢您的快速回复。

  • 我替换了Locator.geocode(...)调用Thread.sleep(...) . UI 变慢但没有被阻塞。我使用的模拟器是9300。
  • Locator.geocode(...)请求在 try..catch() 内 block ,它不会抛出异常。调用结束后返回 null (我正在使用模拟器)但没有抛出异常。

  • 供您引用,这是控制台打印的内容:(使用 9300 模拟器)

    **** Number of threads before creating Geocode class: 4

    **** Number of threads inside Geocode class just before calling Locator.geocode: 5

    **** Running on event thread: false

    Locator.geocode(...) // UI blocks at this point(OS 5) till this request finishes

    最佳答案

    你确定你让它在一个线程上正确运行吗?可能是 OS 6+ 的响应速度更快,所以您只注意到 OS 5 上的问题。尝试将调用替换为 Locator.geocode()调用Thread.sleep(60000)确保后台线程正常工作。

    关于multithreading - Locator.geocode(...) 在 OS 5 设备(Blackberry Java)中卡住/阻止 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16719187/

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