Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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/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在include语句中整合视图,提高性能?_Android_Performance_Memory_Layout_View Hierarchy - Fatal编程技术网

android在include语句中整合视图,提高性能?

android在include语句中整合视图,提高性能?,android,performance,memory,layout,view-hierarchy,Android,Performance,Memory,Layout,View Hierarchy,我正在优化我的android布局。我得到的一个建议是重用include语句中的布局。虽然我理解这种方法的实用性,有点像面向对象的视图,但它是否显著提高了渲染时间?它能显著减少内存占用吗?它是否使视图层次结构更小 我写这篇文章是假设有一个明确的答案,而不是讨论 谢谢你的洞察力 单独使用include可能不足以对渲染时间产生任何明显的变化。它也不应该对视图层次结构产生影响:您应该获得相同的层次结构,无论它的部分是否包含在单独展开的布局中 (我认为LayoutInflater可能会缓存最近膨胀的资源,

我正在优化我的android布局。我得到的一个建议是重用
include
语句中的布局。虽然我理解这种方法的实用性,有点像面向对象的视图,但它是否显著提高了渲染时间?它能显著减少内存占用吗?它是否使视图层次结构更小

我写这篇文章是假设有一个明确的答案,而不是讨论


谢谢你的洞察力

单独使用
include
可能不足以对渲染时间产生任何明显的变化。它也不应该对视图层次结构产生影响:您应该获得相同的层次结构,无论它的部分是否包含在单独展开的布局中

(我认为LayoutInflater可能会缓存最近膨胀的资源,可能会加快膨胀由最近使用的
包含的
片段组成的布局。但这似乎不太可能,除非你在应用程序中对其进行基准测试,否则这将是一个不必要的微观优化。)

include
有利于布局的组织,特别是分解可重用的部分。Romain Guy是安卓布局系统的作者,几年前写了一篇文章,展示了一些使用include可以实现的技巧/技巧,例如使用它将方向敏感的布局与更普通的布局分开

相比之下,用于布局充气时间优化;它允许视图层次结构的某些部分缓慢膨胀

它能显著减少内存占用吗

不是。这是一个包含两个具有相同内容的视图的视图。虽然视图相同,但视图中的每个项目都必须作为单独的实例显示,因为开发人员可能希望使用R.id.identifier选择它并更改其内容。实际上,假设您在两个不同的视图中包含应用程序的标题。每个视图中的标题内容不必相同。由于实例不同,因此不会节省内存

它是否显著提高了渲染时间

我没注意到。你在这里得到的任何好处都可能是微乎其微的

这里有一个关于Android性能优化的相关链接,以防您还没有看到->