黑莓的异步图像下载器

时间:2012-10-08 15:58:23

标签: multithreading blackberry asynchronous java-me

我需要创建一个图库。图像保存在远程服务器中。 Blackberry客户端需要下载并将其呈现给UI(图库视图)。

我使用了“UniversalImageDownloaer”库来安卓android。但现在我正在寻找任何这样的免费软件/开源库,它将帮助我实现我的BlackBerry目的。任何人都可以帮助我指导我的资源。

我需要研究以下事项

  1. 异步图像下载
  2. 图库视图
  3. 图片缓存
  4. 修改-1 根据我之前的经验,我了解到Blackberry在运行时限制创建最多250个(许多是5 +/-)个线程。并且每个应用程序限制为17个线程数。所以我必须根据我的要求调查线程池和线程安全性。

1 个答案:

答案 0 :(得分:1)

我不知道BB中任何延迟加载的库。您可以尝试将该库移植到BlackBerry或DIY。让我们看看你怎么能实现这个目标:

  1. 您可以编写一个消费者线程,它将一次下载一个图像(在Blackberry中,并行下载不会带来太多性能提升)。此使用者可以从堆栈中获取URL。 UI(屏幕,列表)将在每次需要图像时向消费者提交请求。请求只是将资源URL传递给使用者,因此它将它放在堆栈的顶部。在此期间,GUI应显示默认图像或加载消息。 Java中有很多关于如何以线程安全方式设计消费者 - 生产者方案的好书和手册,但它超出了这个答案的范围。
  2. 从OS 5.0开始,您拥有PictureScrollField类,可以显示一行滚动图像,并且可以在某种程度上进行自定义。我认为SDK中的samples文件夹中有一个示例演示应用程序。
  3. 如果在程序执行期间可能会对同一图像发出多个请求,则缓存是一个有趣的增强功能。您可以将它们保存在消费者堆栈的RAM中,甚至可以将它们保存到SDCard中的文件夹中。然后,消费者将首先查看缓存中的内容,并且只有在它不存在的情况下才会启动远程下载。