我正在解码来自远程服务器的编码帧。现在我有一些不同的主题。一个线程用于接收,一个用于解码,另一个用于View。所有这些都是从活动类(主线程)创建的。现在我将父类的对象发送到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是Bitmap Image。但是存在性能问题。这里Viewer线程非常慢。我不知道另一种有效的方式来完成我的工作。请给我一些启示。
答案 0 :(得分:0)
尝试使用Android Universal Image Loader的概念,它可以以各种方式帮助你......
答案 1 :(得分:0)
有一个后台线程从服务器接收图像并进行解码,请确保在必要时使用适当的采样速度和内存效率。
将Bitmap
存储在某个缓存中,可能是LruCache
,使用Handler.Callback
在成功下载图像或失败时处理邮件。在UI线程上使用Handler
初始化Handler.Callback
,并在解码完成并存储图像时从后台线程向其发送消息。
这只是方法的要点,当然,如果你不感兴趣,你可以为延迟加载图像插入一个开发的库。