我有一个正在使用Xamarin开发的android应用.该应用程序与服务器联系,并通过Web服务(SOAP)接收对象列表.目前,在我的axml文件中,scrollview标记内只有线性布局(ll),而没有其他内容.在代码中,我遍历集合并更新所需的元素,并将其附加到布局.完成每条记录后,我将(即AddView)附加到主版式(ll).一切正常.
我有两个问题,对此我表示感谢.
1)列表中的每个对象都包含一个在线图像的URL.目前,对于每个对象,我的过程都会单独下载图片.即使对象的其他属性不同,ListView也会给我带来任何重用(缓存等)已下载图片的优势吗?如果切换到ListView,在网络利用率方面会有所提高吗?
2)手动绘制元素(如我正在做的)是否是可以接受的最佳实践?
谢谢大家
解决方法:
绝对使用ListView.卢卡斯·罗查(Lucas Rocha)撰写了一篇很棒的文章here,它准确地概述了ListViews为何有益以及如何使它们表现得更好.举几个例子,ListViews最小化了视图膨胀的数量,它们仅创建当前在屏幕上可见或即将在屏幕上可见的列表项.
与您的方法相比,这是一个巨大的改进,因为当前的方法将在向用户展示活动之前加载列表中的每个元素.因此,像您当前正在手工绘制的元素绝对不是最佳实践.
此外,为了在Xamarin应用程序中显示URL中的图像,我强烈建议您使用Xamarin组件UrlImageViewHelper.尽管在您的应用程序中实现起来非常简单,但由于它可以处理图像缓存和异步图像加载,因此可以大大提高性能.