Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android动态创建UI v。列表视图_Android_Performance_User Interface_Xamarin - Fatal编程技术网

Android动态创建UI v。列表视图

Android动态创建UI v。列表视图,android,performance,user-interface,xamarin,Android,Performance,User Interface,Xamarin,我有一个android应用程序,我正在使用Xamarin开发。该应用程序与服务器联系,并通过web服务(SOAP)接收对象列表。目前,在我的axml文件中,只有scrollview标记中的线性布局(ll),没有其他内容。在代码中,我在集合中循环,创建所需的元素并将其附加到布局。完成每个记录后,我将(即AddView)附加到主布局(ll)。一切正常 我有几点担心,我很感谢你的反馈 1) 列表中的每个对象都包含指向联机图像的URL。目前,对于每个对象,我的进程将分别下载图片。即使对象的其他属性不同,

我有一个android应用程序,我正在使用Xamarin开发。该应用程序与服务器联系,并通过web服务(SOAP)接收对象列表。目前,在我的axml文件中,只有scrollview标记中的线性布局(ll),没有其他内容。在代码中,我在集合中循环,创建所需的元素并将其附加到布局。完成每个记录后,我将(即
AddView
)附加到主布局(ll)。一切正常

我有几点担心,我很感谢你的反馈

1) 列表中的每个对象都包含指向联机图像的URL。目前,对于每个对象,我的进程将分别下载图片。即使对象的其他属性不同,ListView是否会给我重用(缓存等)已经下载的图片带来任何好处?如果我切换到ListView,在网络利用率方面会有任何收益吗

2) 手工绘制元素(就像我正在做的)是可以接受的最佳实践吗


谢谢大家。

一定要使用列表视图。卢卡斯·罗查(Lucas Rocha)写了一篇很棒的文章,详细介绍了为什么ListView是有益的,以及如何让它们表现得更好。举几个例子,ListView最小化了视图膨胀的次数,它们只创建当前在屏幕上可见或即将在屏幕上可见的列表项

这与您的方法相比是一个巨大的改进,因为您当前的方法将在向用户呈现活动之前加载列表中的每个元素。因此,像您目前所做的那样手工绘制元素绝对不是最佳实践


另外,对于在Xamarin应用程序中显示URL中的图像,我强烈建议您使用Xamarin组件。尽管在你的应用程序中实现起来非常简单,但它将极大地提高性能,因为它负责图像缓存和异步图像加载。

我喜欢这条评论,但有点罗嗦。你能总结一下,告诉我为什么自己画元素是一种不好的做法吗?谢谢谢谢你,沙瓦里。好消息。非常有帮助。但是顺便说一句……如果你成名了,记得是谁给了你第一个分数,所以:-)