【发布时间】:2013-05-23 16:27:08
【问题描述】:
在我的 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()块内,它不会引发异常。调用完成后,它返回null(我正在使用模拟器)但没有抛出异常。
供您参考,这是控制台打印的内容:(使用 9300 模拟器)
**** 创建 Geocode 类之前的线程数:4
**** 在调用 Locator.geocode 之前 Geocode 类中的线程数:5
**** 在事件线程上运行:false
Locator.geocode(...) // UI 块在这一点(OS 5)直到这个 请求完成
【问题讨论】:
标签: multithreading blackberry java-me