这个问题是我之前关于堆栈溢出how-to-download-images-asynchronously-from-web-server 的问题的延续。我正在努力在黑莓中制作异步列表。现在它对我来说工作正常。但它现在给了我另一个问题。
到目前为止我做了什么
- 创建了一个从 XML 提要中获取价值的列表视图
- 列表加载了默认缩略图
- Created
RunnableFactory
,将线程池大小限制为 5,然后将可运行对象添加到其中。可运行对象具有从服务器下载图像的能力。 - 现在列表异步加载非常好。
问题场景
在加载列表屏幕时,它正在初始化RunnableFactory
,然后开始下载和渲染列表中的图像。但是,假设我在列表中有 50 行。现在已经成功下载了 10 张图片,并且 RunnableFactory 仍在运行。此时按返回键,然后单击下一步。实际上,它应该出现在列表屏幕上,然后重新启动下载过程。但它抛出IllegalThredState 异常
我对这个问题的假设
由于所有线程都在运行,我可能不得不取消按下后退键的所有线程。如果这是问题,你能告诉我我该怎么做吗?由于我创建了多个线程,我怎么能设法停止所有线程然后导航回来?
这看起来像一个更复杂的系统。谁能帮助我了解还有什么可能解决这个问题?