【问题标题】:Add image URL to bitmap image in listfield将图像 URL 添加到列表字段中的位图图像
【发布时间】:2010-09-01 21:48:07
【问题描述】:

我有 50/100 带有特定文本的图像 url,我将它们添加到向量中,添加带有回调的列表字段,

我每次都用函数调用 UrlToImage 下载图像我遇到问题,列表太慢,下载图标显示在模拟器的右上角。

UrlToImage img = new UrlToImage(imageUrl);
bit = img.getbitmap();
pic = new BitmapField(bit); 
g.drawBitmap(xpos, y+10, bit.getWidth(), bit.getHeight(), bit, DrawStyle.LEFT,0);

无法流畅地滚动整个列表。

任何想法,cmets。

【问题讨论】:

    标签: java blackberry listfield


    【解决方案1】:

    您的格式全乱了,但如果我理解正确,您每次回调时都在下载?

    避免这种情况的一种方法是创建一个在需要屏幕时启动的线程,并异步执行下载(每次一次!)并将图像保存在缓存中。然后 drawListRow 回调只是从缓存中提取。

    【讨论】:

      【解决方案2】:

      您的代码似乎在paint 方法中执行。这一切都发生在 UI 线程上(意味着您阻塞 UI、发出请求、等待响应、设置图像,然后绘制图像,每次绘制发生时)。看到一个请求可能需要大约 3 秒,您的 UI 将冻结那么长时间。

      你应该做什么在你的类的构造函数中获取你的图像,设置你的类的实例变量,然后 g.drawBitmap 与该实例变量。

      简而言之,您的paint方法中唯一的代码应该是g.drawBitmap,以防止出现断断续续的滚动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多