使用layoutopt进行布局优化 android开发教程

  次阅读 作者:智能小宝 来源:互联网 2015-10-13 14:57 我要评论(0)

创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你优化布局,以减少内存消耗,提高应用程序运行性能。

layoutoptimization

优化是需要一定技巧的,性能良好的代码固然重要,但写出优秀代码的成本往往也很高,你可能不会过早地贸然为那些只运行一次或临时功能代码实施优化,如果你 的应用程序反应迟钝,并且卖得很贵,或使系统中的其它应用程序变慢,用户一定会有所响应,你的应用程序下载量将很可能受到影响。

在开发期间尽早优化你的布局是节省成本,提高性能的简单方法,Android SDK带来了一个工具,它可以自动分析你的布局,发现可能并不需要的布局元素,以降低布局复杂度。

第一步:准备工作

如果想使用Android SDK中提供的优化工具,你需要在开发系统的命令行中工作,如果你不熟悉使用命令行工具,那么你得多下功夫学习了。

我们强烈建议你将Android工具所在的路径添加到操作系统的环境变量中,这样就可以直接敲名字运行相关的工具了,否则每次都要在命令提示符后面输入完 整的文件路径,现在在Android SDK中有两个工具目录:/tools和/platform-tools,本文主要使用位于/tools目录中的layoutopt工具,另外我想说的 是,ADB工具位于/platform-tools目录下。

运行layoutopt

运行layoutopt工具是相当简单的,只需要跟上一个布局文件或布局文件所在目录作为参数,需要注意的是,这里你必须包括布局文件或目录的完整路径,即使你当前就位于这个目录。我们来看一个简单的例子:

D:\d\tools\eclipse\article_ws\Nothing\res\layout>layoutopt

D:\d\tools\eclipse\article_ws\Nothing\res\layout\main.xml

D:\d\tools\eclipse\article_ws\Nothing\res\layout\main.xml

D:\d\tools\eclipse\article_ws\Nothing\res\layout>

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

D:\d\tools\eclipse\article_ws\Nothing\res\layout>layoutopt main.xmlD:\d\tools\eclipse\article_ws\Nothing\res\layout>

因此,如果你看不任何东西,则很可能是文件未被解析,也就是说文件可能未被找到。

使用layoutopt输出

Layoutopt的输出结果只是建议,你可以有选择地在你的应用程序中采纳这些建议,下面来看几个使用layoutopt输出建议的例子。

无用的布局

在布局设计期间,我们会频繁地移动各种组件,有些组件最终可能会不再使用,如:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">

<LinearLayoutandroid:id="@+id/linearLayout1"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:orientation="vertical">

<TextViewandroid:id="@+id/textView1"

android:layout_width="wrap_content"

android:text="TextView"

android:layout_height="wrap_content"></TextView>

</LinearLayout> </LinearLayout>

工具将会很快告诉我们LinearLayout内的LinearLayout是多余的:

11:17 This LinearLayout layout or its LinearLayout parent is useless

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...