理论教育 优化网页布局的工具

优化网页布局的工具

时间:2023-06-19 理论教育 版权反馈
【摘要】:通过Layout Optimization工具可以分析所提供的Layout,并提供优化意见。Layout Optimization工具的用法如下:其参数是一个或多个的Layout xml文件,以空格间隔。通过使用Android SDK提供的工具Layout Optimization,可以自动分析我们的布局,发现可能并不需要的布局元素,以降低布局复杂度。在接下来的内容中,将通过一个具体演示来说明使用Layout Optimization的基本流程。

优化网页布局的工具

通过Layout Optimization工具可以分析所提供的Layout,并提供优化意见。读者可以在tools文件夹中找到layoutopt.bat并启动。

要想运行它,需要打开命令行进入sdk的tools目录,输入layoutopt加上我们的布局目录命令行。运行后如图5-16所示,其中框出的部分即为该工具分析布局后提出的建议,这里建议替换标签。

978-7-111-51616-3-Part02-257.jpg

图5-16 命令行

由此可见,通过这个工具,能很好的优化我们的UI设计,寻找到更好的布局方法。Layout Optimization工具的用法如下:

978-7-111-51616-3-Part02-258.jpg

其参数是一个或多个的Layout xml文件,以空格间隔。也可以是多个Layout xml文件所在的文件夹路径。例如下面演示了Layout Optimization工具的用法:

978-7-111-51616-3-Part02-259.jpg

其实UI优化是需要一定技巧的,性能良好的代码固然重要,但写出优秀代码的成本往往也很高。为了节省成本在,开发期间我们应该尽早优化布局。通过使用Android SDK提供的工具Layout Optimization,可以自动分析我们的布局,发现可能并不需要的布局元素,以降低布局复杂度。在接下来的内容中,将通过一个具体演示来说明使用Layout Optimization的基本流程。

(1)准备工作

如果想使用Android SDK中提供的优化工具,则需要在开发系统的命令行中工作。编者建议将Android工具所在的路径添加到操作系统的环境变量中,这样就可以直接键入名字即可运行相关的工具了,否则每次都要在命令提示符后面输入完整的文件路径。假设在Android SDK中有两个工具目录:“/tools”和“/platform-tools”,下面的演示将主要使用位于“/tools”目录中的layoutopt工具,另外,ADB工具位于“/platform-tools”目录下。

(2)运行Layout Optimization

运行Layout Optimization工具的方法很简单,只需要跟上一个布局文件或布局文件所在目录作为参数。在此需要注意的是,这里必须包括布局文件或目录的完整路径,即使当前就位于这个目录。请读者看一个简单的例子:

978-7-111-51616-3-Part02-260.jpg

在上述演示示例中,包含了文件的完整路径,如果不指定完整路径,不会输出任何内容,例如:

978-7-111-51616-3-Part02-261.jpg

(3)使用Layout Optimization输出

Layout Optimization的输出结果只是概括性的建议,我们可以有选择地在应用程序中采纳这些建议,下面来看几个使用Layoutopt工具输出建议的例子。

建议1:无用的布局

在布局设计期间通常会频繁地移动各种组件,并且有些组件最终可能会不再使用,例如下面的布局代码:(www.daowen.com)

978-7-111-51616-3-Part02-262.jpg

Layout Optimization工具将会很快输出如下提示,告诉我们LinearLayout内的LinearLayout是多余的。

978-7-111-51616-3-Part02-263.jpg

在上述输出结果中,每一行最前面的两个数字表示建议所在的行号。

建议2:根可以替换Layoutopt的输出有时是矛盾的,例如下面的布局代码:

978-7-111-51616-3-Part02-264.jpg

Layout Optimization工具将会返回下面的输出:

978-7-111-51616-3-Part02-265.jpg

其中第一行的建议虽然可行,但不是必需的,我们希望两个TextView垂直放置,因此LinearLayout应该保留,而第二行的建议则可以采纳,可以删除无用的FrameLayout。但是这个工具不是全能的,例如在上面的演示代码中,如果给FrameLayout添加一个背景属性,然后再运行工具,第一个建议会消失,而第二个建议仍然会显示。工具Layout Optimization知道我们不能通过合并控制背景,但检查了LinearLayout后,它似乎就忘了还给FrameLayout添加了一个LinearLayout不能提供的属性。

建议3:太多的视图

其实每个视图都会消耗内存,如果在一个布局中布置太多的视图,布局会占用过多的内存。假设一个布局包含超过80个视图,则Layout Optimization可能会给出下面这样的建议:

978-7-111-51616-3-Part02-266.jpg

上面的建议提示视图数量不能超过80,当然最新的设备有可能能够支持这么多视图,但如果真的出现性能不佳的情况,建议采纳这个建议。

建议4:嵌套太多

一个布局不应该有太多的嵌套,Android开发团队建议布局保持在10级以内,即使是最大的平板电脑屏幕,布局也不应该超过10级。当布局嵌套太多时,Layout Optimization会输出如下内容:

978-7-111-51616-3-Part02-267.jpg

上述内容表示嵌套布局警告通常伴随有一些无用布局的警告,有助于找出哪些布局可以移除,避免屏幕布局被全部重新设计。

由此可见,Layout Optimization是一个快速易用的布局分析工具,找出低效和无用的布局,要做的是判断是否采纳Layout Optimization给出的优化建议,虽然采纳建议作出修改不一定会立即大幅改善性能,但没有理由让复杂的布局拖慢整个应用程序的速度,并且后期的维护难度也很大。简单布局不仅缩短了开发周期,还可以减少测试和维护工作量,因此,在应用程序开发期间,应尽早优化你的布局,不要等到最后用户反馈回来意见再做修改。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈