Android 中布局的优化措施都有哪些?

1、尽可能减少布局的嵌套层级
可以使用 sdk 提供的 hierarchyviewer 工具分析视图树,帮助我们发现没有用到的布局。
2、不用设置不必要的背景,避免过度绘制
比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景。
3、使用<include>标签复用相同的布局代码
4、使用<merge>标签减少视图层次结构
该标签主要有两种用法:
1) 因 为 所 有 的 Activity 视 图 的 根 节 点 都 是 FrameLayout , 因 此 如 果 我 们 的 自 定 义 的 布 局 也 是
FragmenLayout 的时候那么可以使用 merge 替换。
2) 当应用 Include 或者 ViewStub 标签从外部导入 xml 结构时,可以将被导入的 xml 用 merge 作为根节
点表示,这样当被嵌入父级结构中后可以很好的将它所包含的子集融合到父级结构中,而不会出现冗余的节点。
<merge>只能作为 xml 布局的根元素。
5、通过<ViewStub>实现 View 的延迟加载

时间: 2024-08-02 06:34:20

Android 中布局的优化措施都有哪些?的相关文章

Android中布局的一些常识

一般我们都会在xml文件中去定义要在程序中使用的一些控件,最新的ADT会为每一个activity同时生成两个xml文件,一个是activity_main.xml,另一个就是fragment_main.xml.刚开始我不懂两者的区别,就在fragment_main.xml中定义在activity中使用的控件,Eclipse不会报错.如果不添加控件的一些事件如点击,应用程序就可以正常运行.但如果添加了控件的事件处理,运行时应用程序 就会崩溃. 通过查看Logcat,系统提示空指针异常,但我怎么也查不

Android中View绘制优化二一---- 使用&lt;include /&gt;标签复用布局文件

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译二: 使用<include />标签复用布局文件  翻译地址:http://developer.android.com/training/improving-layouts/reusing-layouts.html#Merge 尽管Android通过内置了各种各样的控件提供了微小.可复用的交互性元素,也许你需要复用较大的 组件 ---- 某些特定布局文件 .为了更有效率复用的布局文件,你可以使用<

那些Android中的性能优化

性能优化是一个大的范畴,如果有人问你在Android中如何做性能优化的,也许都不知道从哪开始说起. 首先要明白的是,为什么我们的App需要优化,最显而易见的时刻:用户say,什么狗屎,刷这么久都没反应,取关卸载算了. 这跟什么有关,我们先苍白的反驳下,尼玛用户设备老旧网又烂,关我屁事,根本不用优化.可是,老板拍板了,施压给CTO,然后CTO又来找你:Y的今天必须给我想办法优化了,不然不准回家. 好吧,为什么从UI的表象上看,App又卡又慢而且还错乱.我们试着来剖析下吧. 题外话:把minSDK改

android中的内存优化

内存泄露可以引发很多的问题: 1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC) 2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉.反之内存占用越小,在后台存在的时间就越长) 3.直接崩溃(OutOfMemoryError) ANDROID内存面临的问题: 1.有限的堆内存,原始只有16M 2.内存大小消耗等根据设备,操作系统等级,屏幕尺寸的不同而不同 3.程序不能直接控制 4.支持后台多任务处理(multitasking) 5.运行在虚拟机之上 我主要通过以下

Android 中 SQLite 性能优化

数据库是应用开发中常用的技术,在Android应用中也不例外.Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查.纵使操作简单,也有可能出现查找数据缓慢,插入数据耗时等情况,如果出现了这种问题,我们就需要考虑对数据库操作进行优化了.本文将介绍一些实用的数据库优化操作,希望可以帮助大家更好地在开发过程中使用数据库. 建立索引 很多时候,我们都听说,想要查找快速就建立索引.这句话没错,数据表的索引类似于字典中的拼音索引或者部首索引. 索引的解释 重温一下我们小

Android中布局优化总结

1.<include> <merge> <viewStub>标签 2.FrameLayout>RelationLayout>LinearLayout 3.LinearLayout中少用layout_weight参数 4.布局中减少Layout层次嵌套和不必要节点,代码中减少不必要的infalte(e.g. 局部变量->全局变量) 5.用TextView代替TextView+ImageView的组合(实用drawableTop属性等) 6.首次不需要显示

Android中View绘制优化之三---- 优化View

本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning 译三: 优化视图 关于如何设计自定义View以及响应触摸时间等,请看Android developer : 地址:http://developer.android.com/training/custom-views/index.html 本文翻译地址:Optimizing the View 通过前面的学习,现在该设计良好的View能够响应手势以及状态之间进行转换,除此之外你必须确保View 运行的流畅快速.

Android中利用ViewHolder优化自定义Adapter的典型写法

public class MarkerItemAdapter extends BaseAdapter { private Context mContext = null; private List<MarkerItem> mMarkerData = null; public MarkerItemAdapter(Context context, List<MarkerItem> markerItems) { mContext = context; mMarkerData = mark

Android中布局文件的创建

在 Android应用程序中,界面是通过布局文件设定的.布局文件采用XML格式,每个应用程序默认包含一个主界面布局文件,该文件位于项目的 res/layout 目录中.接下来创建一个“布局”程序,此时会看到一个界面设计面板,如图1所示. 图1 布局文件 从图1中可以看出,布局文件窗口中有两个选项卡,分别是 Graphical Layout.activity_main.xml.其中 Graphical Layout是布局文件的图形化视图,在该视图中可以通过鼠标将 Palette 窗口中的控件直接拖