Android UI性能优化实战 识别绘制中的性能问题

http://www.jianshu.com/p/9e095bacf44a
http://blog.csdn.net/lmj623565791/article/details/45556391
http://www.cnblogs.com/ai394495243/p/5084391.html
http://www.cnblogs.com/liuling/p/2015-10-08-2.html

性能优化工具分析

http://androidperformance.com/2015/04/19/Android-Performance-Patterns-4.html

总结:
①1. 尽量多使用RelativeLayout和LinearLayout, 不要使用绝对布局AbsoluteLayout,
2. 在布局层次一样的情况下, 建议使用LinearLayout代替RelativeLayout, 因为LinearLayout性能要稍高一点.
3. 在完成相对较复杂的布局时,建议使用RelativeLayout,RelativeLayout可以简单实现LinearLayout嵌套才能实现的布局.
4. 将可复用的组件抽取出来并通过include标签使用;
5. 使用ViewStub标签来加载一些不常用的布局;
6. 动态地inflation view性能要比SetVisiblity性能要好.当然用VIewStub是最好的选择.
7. 使用merge标签减少布局的嵌套层次
8. 去掉多余的背景颜色
9. 对于有多层背景颜色的Layout来说,留最上面一层的颜色即可,其他底层的颜色都可以去掉
10. 对于使用Selector当背景的Layout(比如ListView的Item,会使用Selector来标记点击,选择等不同的状态),可以将normal状态的color设置为”@android:color/transparent”,来解决对应的问题
11. 内嵌使用包含layout_weight属性的LinearLayout会在绘制时花费昂贵的系统资源,因为每一个子组件都需要被测量两次。在使用ListView与GridView的时候,这个问题显的尤其重要,因为子组件会重复被创建.所以要尽量避免使用Layout_weight
12. 使得Layout宽而浅,而不是窄而深(在Hierarchy Viewer的Tree视图里面体现)

②整个ui其实还含有一个隐含的绘制效果,那边是在activity中,使用setContentView(R.layout.activity_main)设置布局的时候,android会自动填充一个默认的背景,而在这个UI中,我们使用了填充整个app的背景,因此不需要默认背景,取消也很简单,只需要在activity中的onCreate方法中添加这么一句就行了
getWindow().setBackgroundDrawable(null);

更多相关文章

  1. Android 用属性动画自定义view的渐变背景
  2. 布局文件绘制圆角矩形 背景图片
  3. 性能优化--overdraw优化
  4. Android 状态栏背景颜色修改与状态栏字体颜色修改
  5. android tabHost布局 大全
  6. android实现圆角矩形背景的方法
  7. android:为TextView添加样式——下划线,颜色,设置链接样式及前背景
  8. Android Studio新建布局XML, preview不显示问题解决
  9. Android增强WiFi性能

随机推荐

  1. Cocos2d-x学习之windows 7 android环境搭
  2. Android(安卓)AudioPolicyService和Audio
  3. Android(安卓)中发送邮件
  4. Android(安卓)各层中日志打印功能的应用
  5. [转]Android使用SimpleAdapter更新ListVi
  6. 转屏,ConfigChanges
  7. Android开发学习1——android安装和配置
  8. AndroidTreeView:Android树形节点View
  9. Android(安卓)ListView根据内容动态设定
  10. android 焦点