首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从互联网加载20张图片时Listview运行如此滞后

从互联网加载20张图片时Listview运行如此滞后
EN

Stack Overflow用户
提问于 2016-04-18 23:43:14
回答 1查看 52关注 0票数 0

因此,我一直在尝试让它异步下载images.my应用程序,运行缓慢、滞后和延迟

代码语言:javascript
复制
public override View GetView(int position, View convertView,ViewGroup parent)
    			{
    				View view = convertView ?? _inflater.Inflate (Resource.Layout.textViewItems, parent, false);

    				
    				if (track.artwork_url != null) {


    					var imageBitmap = GetImageBitmapFromUrl(track.artwork_url);
    					if (imageBitmap != null && imageBitmap.Length > 0) {
    						var converterImage = BitmapFactory.DecodeByteArray (imageBitmap, 0, imageBitmap.Length);
    						viewHolder.Image.SetImageBitmap(converterImage);
    					}

    				} else {
    					viewHolder.Image.SetImageResource(Resource.Drawable.img1);
    				}


    				return view;
    			}

public static byte[] GetImageBitmapFromUrl(string url)
		{
			byte [] imageBitmap = null;

			using (var webClient = new WebClient())
			{
				var imageBytes = webClient.DownloadData(url);

				imageBitmap = imageBytes;
			}


			return imageBitmap;
	}

所有图像都加载到列表视图中(100px的高度和宽度)。我也设置了ImageView.layout_width=70dp和height。但我不能在列表视图中上下滚动。因为listview变得如此滞后和非常糟糕

我认为问题出在GetImageBitmapFromUrl上。如何修复。

EN

回答 1

Stack Overflow用户

发布于 2016-04-18 23:52:55

您可以使用MonoDroid.UrlImageViewHelper异步加载镜像。

代码语言:javascript
复制
    if (track.artwork_url != null) {
            viewHolder.Image.SetUrlDrawable(track.artwork_url, Resource.Drawable.img1);
    }

您可以在Xamarin论坛上查看更多详细信息:ListView - Asynchronous Image Loading (from URL)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36698625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档