我正在为 BB 开发一个项目。该应用程序与网络一起工作并通过 HTTP 发送/接收数据。现在我使用队列和队列管理器。管理器从一个后台线程开始,并在 while (true) 循环中工作,检查队列中是否有到服务器的新事务。如果队列不为空,则执行事务,否则管理器休眠 200 毫秒。
事务的过程如下: - 运行另一个线程(使用 Runnable),它打开与网络的连接,第一个线程等待后台线程或超时(为此我们需要一个循环),这是我们设置的。- 如果连接建立,则启动另一个线程(使用 Runnable),它运行 getResponseCode(),第一个线程等待后台线程或超时(为此我们需要一个循环),这是我们设置的。
在它之前,我们显示带有等待旋转图像的弹出窗口,在它被移除之后。它通过 Application.getEventLock() 同步。
它有时不稳定并且线程长时间休眠忽略超时等待循环。
我想知道这种方法的有效性,什么建议和最佳实践,你的经验是什么?
我使用 4.5、4.6、4.7 和 5.0。