C# 从json加载到listview会导致应用程序在滚动时不响应。沙马林,安卓
我正在从json(带图像)加载一个巨大的数据到我的列表视图,这会导致我的应用程序在滚动时没有响应,但如果我在模拟器上按wait。。我可以滚动它,但它使我的应用程序非常滞后。。然而。我的应用程序中有一个detailactivity,它也是来自我的json。单击我的listview中的1项并继续执行我的详细信息活动后,延迟消失。对此有什么解决方法吗?我把json文件的链接放在下面。我想我的滚动视图很难加载我的图像。。当我做研究时,它说我应该在将图像转换为字节时记忆缓存。。但是怎么做呢O 下面是我如何将图像转换为字节的C# 从json加载到listview会导致应用程序在滚动时不响应。沙马林,安卓,c#,json,listview,http,xamarin.android,C#,Json,Listview,Http,Xamarin.android,我正在从json(带图像)加载一个巨大的数据到我的列表视图,这会导致我的应用程序在滚动时没有响应,但如果我在模拟器上按wait。。我可以滚动它,但它使我的应用程序非常滞后。。然而。我的应用程序中有一个detailactivity,它也是来自我的json。单击我的listview中的1项并继续执行我的详细信息活动后,延迟消失。对此有什么解决方法吗?我把json文件的链接放在下面。我想我的滚动视图很难加载我的图像。。当我做研究时,它说我应该在将图像转换为字节时记忆缓存。。但是怎么做呢O 下面是我如何
public class ImageHelper
{
public static Bitmap GetImageBitmapFromUrl(string url)
{
Bitmap imageBitmap = null;
using (var webClient = new WebClient())
{
webClient.Headers.Add(System.Net.HttpRequestHeader.UserAgent, "Others");
var imageBytes = webClient.DownloadData(url);
if (imageBytes != null && imageBytes.Length > 0)
{
imageBitmap = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
}
}
return imageBitmap;
}
}
以下是一些提示
- 减小图像的大小或对其进行压缩
- 进行分页,即在数据块中加载数据,并在用户向下滚动时加载更多数据
- 打开探查器,记录内存交叉危险标志的位置
- 减小图像的大小或对其进行压缩
- 进行分页,即在数据块中加载数据,并在用户向下滚动时加载更多数据
- 打开探查器,记录内存交叉危险标志的位置
- 以下是一些提示
- 让我们为您处理。这是一个非常棒的著名图像缓存和压缩库。让我们为您处理它。这是一个非常著名的图像缓存和压缩库。您可以使用Piccaso进行异步图像下载和缓存。它工作得很好。您可以使用Piccaso进行异步图像下载和缓存。它运行得很好。@merbsanda很高兴知道这一点。如果其中一个答案对您有帮助,您可能希望将其标记为已接受。:)@梅尔班达很高兴知道这一点。如果其中一个答案对您有帮助,您可能希望将其标记为已接受。:)