android-界面优化技巧

尽量减少XML布局层次。更多的层次意味着系统将为解析你的代码付出更多的工作,这将会让图像渲染的更慢。:用HierarchyViewer可以直观的看到你布局的层次。这个智能的工具可以显示布局中有多少层次,而且可以提示出那些可以让程序变慢。

:如果可以尽量用RelativeLayoutAbsoluteLayout已经过期了,就不要用了。你经常会遇到在RelativeLayout和LinearLayout中做出选择的情况,那就直接用RelativeLayouot吧,因为它可以让你减少视图层次。比如,你想实现一个如下视图:

盒子 A 在屏幕左半边 |盒子 B在屏幕右半边

你首先会想到这么做:

<LinearLayout

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

android:orientation=”horizontal”

>

<TextView

android:text=”Box A takes up left half of the screen”

android:layout_width=”0dip”

android:layout_height=”wrap_content”

android:layout_weight=”1″

/>


<TextView

android:text=”Box B takes up left half of the screen”

android:layout_width=”0dip”

android:layout_height=”wrap_content”

android:layout_weight=”1″

/>

</LinearLayout>

That works just fine, but you could also use:

<RelativeLayout

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

android:orientation=”horizontal”

>

<TextView

android:text=”Box A takes up left half of the screen”

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

android:layout_toLeftOf=”@+id/dummy_center”

/>


<View

android:id=”@+id/dummy_center”

android:layout_width=”0dip”

android:layout_height=”0dip”

android:layout_gravity=”center”

/>

<TextView

android:text=”Box B takes up left half of the screen”

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

android:layout_toRightOf=”@+id/dummy_center”

/>

</RelativeLayout>


第二个表单比第一个难看的多,事实上是相当的糟糕:我们已经介绍过一个完整的新元素了。但是假如我们要给每个盒子里加入一个图片,一般的我们将这样做:

盒子 A 在屏幕左半边 图片|盒子 B在屏幕右半边 图片

用第一中方法,你得创建一个有两个层次的LinearLayout,如果用第二种方法,你可以直接在同一个RelativeLayout中加入图片,比如要指定第一个图片必须在“dummy_center”的左边,而且一个TextView A必须也在其左侧。那么你就得用7个元素3个视图层次了(LinearLayout 方式),而(RelativeLayout方式)只用6个元素2个层次,这样所有的工作添加完成。

如果要用PNG,最好优化一下(用PNGCrush或ImageOptim)

你可能感兴趣的:(android,界面优化)