0

我目前正在解码来自远程服务器的编码帧。现在我有一些不同的线程。一个线程用于接收,一个用于解码,另一个用于查看。所有这些都是从活动类(主线程)创建的。现在我将父类的一个对象发送到 Viewer 类以访问 ImageView。在那个 ImageView 中,我只写了以下代码片段。

m_ImageView.post(new Runnable() {       
    @Override
    public void run() {
        // TODO Auto-generated method stub
        m_ImageView.setImageBitmap(m_bImage);
        m_iDecompressedImage = null;
    }
}); 

这里 m_ImageView 是 ImageView 而 m_bImage 是位图图像。但是有一个性能问题。这里查看器线程非常慢。我不知道其他有效的工作方式。请给我一些光。

4

2 回答 2

0

拥有一个从服务器接收图像并解码的后台线程,确保在必要时使用适当的采样以提高速度和内存效率。

将 存储Bitmap在某个缓存中,也许LruCache,在图像下载成功或失败时使用Handler.Callback处理消息。Handler用它在 UI 线程上初始化 a ,Handler.Callback并在解码完成并存储图像时从后台线程向它发送消息。

当然,这只是该方法的要点,如果您不感兴趣,可以插入一个为此开发的库以延迟加载图像。

于 2013-04-30T08:57:06.370 回答
0

尝试使用Android Universal Image Loader的概念,它可以以各种方式帮助您...

于 2013-04-30T07:59:34.183 回答