细节决定成败----Android应用程序的优化(四)

本章主要讲的是对UI的优化

1. 多利用android系统的资源

1.1 利用系统定义的id

通常我们定义控件如<android:id="@+id/mylist" ....../>,其实如果没有特殊的要求可以利用系统定义的id

<android:id="@android :id/list" ....../>,在获取的时候使用android.R.id.list即可


1.2 利用系统的图片资源

引用系统图标,如给一个菜单项设置背景图片时使用如下代码:

android:icon="android.drawable/ic_menu_attachment"
Build工程后,会报"Resource is not public"的错误,解决方法有两种:

1.在SDK中招的相应的图片资源,复制到工程目录中;

2.将上述代码改为

android:icon="@*android.drawable/ic_menu_attachment"


1.3 利用系统字符串资源

假如要实现一个Dialog,Dialog上面有"确定"和"取消"按钮,就可以使用下面的代码片段:


android:text="@android:string/yes"
android:text="@android:string/no"


1.4 利用系统的Style

比如需要定义一个TextView的样式,设置中等大小字体,则可以使用下面代码片段;


android:textAppearance="?android:attr/textAppearanceMedium"
需要注意的是:使用系统style前缀不是用的"@android:",而是用的"?android:"。



1.5 使用系统的颜色定义

比如项目中常用到的透明色,代码片段如下:


android:background="@android:color/transparent"


总而言之,就是android系统中有很多的系统资源,我们要根据实际情况合理充分利用。

2.1 抽取相同布局

为了保持界面风格统一,在布局文件中往往会用到一些相同的子布局,所以一般将这些相同的子布局单独写成一个模块,在需要的地方include进来就行了,格式如下:

<include layout="@layout/navigator_bar">
一般可以抽取的公共布局模块有:背景、头部的标题栏、底部的导航栏、listview(因为后期往往会更换listview的风格)


2.2 精简UI层次

也就是merge标签的使用,这个没有用过,以后再补充

2.3 界面延迟加载技术

待续......

2.4 如何捕获和出来Crash

待续......

你可能感兴趣的:(android,优化,Crash,UI优化)