在Monotouch中显示联系人图像的UITableView滚动速度非常慢

在Monotouch中显示联系人图像的UITableView滚动速度非常慢,uitableview,xamarin.ios,contacts,Uitableview,Xamarin.ios,Contacts,我正在使用MonoTouch为iPhone开发一个联系人应用程序。我正在使用一个自定义UITableViewCell,它显示联系人图像(ABPerson.image)、联系人姓名和一些其他信息。 加载联系人图像时,我使用以下代码: //CustomTableViewDataSource class if (person.HasImage) customCellController.LoadImage (person.Image); //Custom cell controller c

我正在使用MonoTouch为iPhone开发一个联系人应用程序。我正在使用一个自定义UITableViewCell,它显示联系人图像(ABPerson.image)、联系人姓名和一些其他信息。 加载联系人图像时,我使用以下代码:

//CustomTableViewDataSource class
if (person.HasImage)
    customCellController.LoadImage (person.Image);


//Custom cell controller class
public void LoadImage(NSData data)
{
    ThreadPool.QueueUserWorkItem (p => this.loadImage (data));  
}
private void loadImage(NSData data)
{
    UIImage image = UIImage.LoadFromData(data);
    InvokeOnMainThread(delegate
    {
        this.imageView.Image = image;
    });
}
这段代码运行得很好,但滚动会减慢速度。有谁有更好的办法来加载联系人图像吗

谢谢,
Danny

关于这个话题有一个很好的博客


这涵盖了这个主题-看起来你所做的非常相似,除了你在customCellController中实际加载图像。在本例中,它们在数据源中被称为
LoadImage()
LoadImage
,并传入cell对象,而不是在单元格本身中进行计算。您可能会发现这将有助于加快您的滚动速度。

可以找到一个关于此主题的优秀博客


这涵盖了这个主题-看起来你所做的非常相似,除了你在customCellController中实际加载图像。在本例中,它们在数据源中被称为
LoadImage()
LoadImage
,并传入cell对象,而不是在单元格本身中进行计算。您可能会发现这将有助于加快滚动速度。

您的实现可能存在很多问题,代码片段不足以找出问题所在


当从网络或本地文件系统缓存加载图像时,您可以查看作为MonoTouch.Dialog一部分的图像下载程序,因为它支持此方案。

您的实现可能存在很多问题,代码片段不足以找出问题所在


当从网络或本地文件系统缓存加载图像时,您可以查看作为MonoTouch.Dialog一部分的图像下载程序,因为它支持此方案。

如何创建此表的单元格?如何创建此表的单元格?谢谢您的回答。我将检查MonoTouch.Dialog项目!谢谢你的回答。我将检查MonoTouch.Dialog项目!您好,本主题介绍通过internet下载图像。在我的代码中,我没有下载图像,但我在iPhone上设置了联系人的图像。您好,本主题介绍了通过互联网下载图像。在我的代码中,我没有下载图像,但我在iPhone上设置了联系人的图像。