Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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 自定义视图还是充气布局?_Android_Xml_Android Layout_Android View - Fatal编程技术网

Android 自定义视图还是充气布局?

Android 自定义视图还是充气布局?,android,xml,android-layout,android-view,Android,Xml,Android Layout,Android View,背景信息: 我正在为我自己和一些朋友开发一个小应用程序,它包含一些列表视图,其中包含基于自定义XML布局的项目。布局有点重-一些图像视图,文本视图,线性布局和相对布局,所以我开始考虑性能。我个人没有遇到任何性能问题,但我知道我的一些朋友(他们将使用该应用程序)没有高端手机,他们可能对这些布局有问题 我记得看过一个关于Android性能的视频演示,我记得Romain Guy提到了一些关于自定义视图的内容,这些视图比不断膨胀的自定义XML布局更能提高性能。我相信当时的环境是Gmail应用程序的早期开

背景信息:

我正在为我自己和一些朋友开发一个小应用程序,它包含一些
列表视图
,其中包含基于自定义XML布局的项目。布局有点重-一些
图像视图
文本视图
线性布局
相对布局
,所以我开始考虑性能。我个人没有遇到任何性能问题,但我知道我的一些朋友(他们将使用该应用程序)没有高端手机,他们可能对这些布局有问题

我记得看过一个关于Android性能的视频演示,我记得Romain Guy提到了一些关于自定义
视图的内容,这些视图比不断膨胀的自定义XML布局更能提高性能。我相信当时的环境是Gmail应用程序的早期开发(我相信是Android 1.5左右),其中
列表视图的每一项都相当复杂

可能值得指出的是,我在应用程序中重用了
视图
,并且使用了谷歌推荐的
视图持有者
原则


我的问题:使用自定义
视图对性能更好,还是可以膨胀自定义XML布局?

一如既往,答案是“视情况而定”-从XML膨胀视图会比在代码中简单创建带来一些性能损失(解析开销),但也提供了更大的灵活性。只要有可能,您一定要重用视图(尤其是在较大的列表中)-这会显著提高滚动性能

如果您可以创建自定义布局,而不是线性布局和相对布局,那么只创建自定义布局将对您更有利。这有点像,与其使用嵌套的线性布局,不如使用相对布局。如果您使用相对视图、线性视图和一大堆视图,那么只需编写自定义布局就应该是有益的。

干杯,康斯坦丁。我差不多就是这么想的。我会继续打开它,以获得更多答案,但谢谢大家+1.