Android UI 优化
2010-04-03 16:57:00 来源:WEB开发网android:text="My Application" />
>
针对RelativeLayout有一点需要注意,因为它内部是通过多个View之间的关系而确定的框架,那么当其中某一个View因为某些需要调用
GONE
来完全隐藏掉后,会影响与其相关联的Views。Android为我们提供了一个属性
alignWithParentIfMissing
用于解决类似问题,当某一个View无法找到与其相关联的Views后将依据
alignWithParentIfMissing
的设定判断是否与父级View对齐。
下边是两种不同layout在Hierarchy Viewer中的层级关系图:
简单或复杂的问题都需要时常考虑如何优化资源的分配。比如一个功能很简单的应用程序,它会调用一些我们常用的对话框或者输入面板,这需要采用统一的方式来针对不同的应用程序制定统一标准。
当我们面对Android UI优化时,有必要继续考虑资源复用。手机开发给我们的直观感觉是运行其上的软件应该尽可能的达到资源高效利用的极致,而不能像开发PC机那样,似乎有用之不尽的资源。
定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是 viewStub />, , and 。可是以往我们所接触的案例或者官方文档的例子都没有着重去介绍这些标签的重要性。
: 此标签可以使UI在特殊情况下,直观效果类似于设置View的不可见性,但是其更大的(R)意义在于被这个标签所包裹的Views在默认状态下不会占用任何内存空间。viewStub通过include从外部导入Views元素。
用法:通过android:layout来指定所包含的内容。默认情况下,ViewStub所包含的标签都属于visibility=GONE。viewStub通过方法inflate()来召唤系统加载其内部的Views。
: 将在下一篇做详细介绍。
:可以通过这个标签直接加载外部的xml到当前结构中,是复用UI资源的常用标签。
用法:将需要复用xml文件路径赋予include标签的Layout属性。
: 标签用于指定屏幕内的焦点View。
用法: 将标签置于Views标签内部
单独将标签做个介绍,是因为它在优化UI结构时起到很重要的作用。目的是通过删减多余或者额外的层级,从而优化整个Android
更多精彩
赞助商链接