【问题标题】:Loading image asynchronously blackberry异步加载图像黑莓
【发布时间】:2012-04-19 13:34:26
【问题描述】:

如何在ListField 的每一行异步添加图片?

【问题讨论】:

  • 你想从 WEB / Local 加载吗?
  • 你的意思是你需要从网上加载这些图片吗? 1. 您可以使用 Vector 对 D/L 网址进行排队。 2. 将它们加载到单独的线程中。 3. 在每个 Bitmap 为 D/L 后,将其添加到另一个 Vector。 (这是为了缓存)
  • 将问题分解为较小的部分,并从这些部分中仅指定您需要帮助的部分。

标签: blackberry blackberry-jde listfield


【解决方案1】:

按照这些步骤操作。

  1. 使用模型-视图-控制器 (MVC) 模式来规划您的类层次结构和关系。
  2. 使用附加线程加载图像并在加载图像时通知视图侦听器(以 MVC 表示法)。

请注意,单个应用程序最多可以创建 16 个线程。 BlackBerry 设备上所有应用程序可存在的线程总数为 128。

因此,如果应用程序已经创建了 16 个线程,则第 17 次尝试失败并抛出 TooManyThreadsError 异常。

同样,如果 BlackBerry 设备上已经创建了 128 个线程,并且应用程序尝试创建另一个线程,则会引发 TooManyThreadsError 异常。

【讨论】:

  • 您能否提供链接,我可以在其中获取有关允许的并发线程数(设备特定信息)的规范。如果我使用线程池,那么池大小的实际价值是多少?
  • 可能值得为此提出一个新问题
  • RIM API SDK 中不支持 ThreadPool 类。这里是关于线程数量限制的开发者知识库链接:goo.gl/CukYy
  • @RafaelOsipov,谢谢,但文章最后更新于07 June 2006 :(。我使用的是自定义线程池,有时我必须调整(减少)一些线程池大小早期的黑莓设备。@donturner,谢谢,如果我没有发现任何有用的东西,我会问一个新问题。
  • 目前线程限制没有任何改变。这是 BlackBerry 设备操作系统架构的限制。您可以尝试在安装了 RIM OS 7.1 的最新设备上创建 17 个线程。
猜你喜欢
  • 2011-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多