关于layoutopt的介绍和使用方法

介绍
对于一款获得用户青睐的 手机软件,单从实现层面上来分析大体包括两个重要的因素:缜密的逻辑运算和人性化的GUI设计。自由开发者普遍存在身兼数职的情况,除了编写程序以外,还 需兼顾GUI设计。编写程序完全需要依靠过硬的功底,一些简单的优化工具并不能对整体逻辑运算产生较大的帮助,这也决定了自由开发者的背景大部分是程序员 出身。在编写GUI方面由于Android平台的GUI系统采用了XML layout模式,遵循固定的排列规则关联界面元素。对于欠缺GUI编写经验的程序员,依然可以简单的实现比较复杂的操作界面。出于功能上的需求XML Layout会变得越来越臃肿,这使得优化过程变得非常困难,例如:容器类型的转换会影响到所有相关联的子元素、反复调整Views元素而导致某些混乱的问题等,由于以上的问题有时可能不会影响到界面的正常使用,非常容易导致忽略了一些影响执行效率的缺陷。为此Android开发小组在SDK Tools Revision 3中提供了Layout Optimization工具,简称:Layoutopt。由于XML Layout具有严格的定义规则,所以这个工具可以自动帮助开发者发现一些较常规的缺陷。目前还没有将其整合到Eclipse的开发环境中,暂时需要通过Command line来执行(运行->cmd)。
使用方法
layoutopt <list of xml files or directories>
note: 有两种参数形式:第一种,可以将xml文件的full path做为参数,如果有多个xml文件,需要用空格将其分隔开。第二种,直接提供多个xml文件所在folder路径。
例子:
$ layoutopt res/layout-land
$ layoutopt res/layout/main.xml res/layout-land/main.xml

应用TabHost优化Activity的GUI

智能移动设备的操作会受限于屏幕的尺寸。一些有关GUI优化技巧不提倡在单独的Activity中显示过多的元素,比较简单的解决办法是将其拆分成多个Activities,每个部分都单独调用。尽管这样解决了表面问题,但是却出现了额外的麻烦,尤其是针对某些内聚属性较高的操作,这样会降低操作的流畅性。
这里介绍一种比较“温馨”的解决方法,应用Widget.TabHost将多个Activities合并成一个Activity,这样就可以同时解决两个问题:

次世代智能移动设备GUI-3D eyetracking

之前有提到过智能手机正在面向更加人性化操作的方向不断创新,这次给大家介绍一个非常Cool的效果。而且请允许我将它加上次世代标签,因为手机捕捉眼球的功能将在未来的手机应用领域具有特殊意义,“智能手机”又多了一种与人类沟通的渠道。
利用设备与使用者眼球的空间定位来实时通过一个3D的引擎表现带有空间感的操作体验,这个原理听起来很简单,不过将它应用到移动设备上的意义绝对可以称得上是革命性的!以下是视频Demo (YouTube 可能会因为某些原因无法正常浏览):