在列表视图项中动态设置图像视图很慢

Posted

技术标签:

【中文标题】在列表视图项中动态设置图像视图很慢【英文标题】:Dynamically setting imageview in a listview item is slow 【发布时间】:2011-03-02 09:15:20 【问题描述】:

我的列表视图项目有问题。我从 XML 文件中动态获取一些图像,下载图像并设置它。

我正在尝试以原始方式缓存获取的位图,以加快我的 listviews 适配器的 getView 过程。但是当试图滚动我的列表视图时,手机似乎“滞后”了。

这是我的代码中负责“滞后”的部分:

        if( ni.Bitmap == null )
        

            Pattern p = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");
            Matcher m = p.matcher(ni.Description);
            boolean result = m.find();

            if( result )
                               
                try              
                  Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(m.group(1)).getContent());
                  ni.Bitmap = bitmap;
                  holder.theimage.setImageBitmap(ni.Bitmap); 
                 catch (MalformedURLException e) 
                  e.printStackTrace();
                 catch (IOException e) 
                  e.printStackTrace();
                                   
                           
        
        else
            holder.theimage.setImageBitmap(ni.Bitmap);

无论如何我可以加快这个过程吗?

【问题讨论】:

【参考方案1】:

检查此网址。您会对此有所了解。

https://***.com/search?q=lazy+loading+listview+android

【讨论】:

以上是关于在列表视图项中动态设置图像视图很慢的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表视图项中显示和隐藏视图?

如何单击列表视图项中的各个控件而不影响其他列表视图项中的控件?

SwiftUI:如何让列表视图中的图像与列表项的操作不同?

图像仅显示在网格视图的第一项中

如果自定义列表视图行内容是动态的,如何使用视图持有者?

使用后台容器在自定义列表视图上加载动态数据