码迷,mamicode.com
首页 > 移动开发 > 详细

Android性能优化

时间:2015-03-10 12:14:56      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:android性能优化   java优化   数据库优化   布局优化   

一、布局优化:

遵循一条规则:布局层次尽量少(RelativeLayout来代替LinearLayout、减少必要的节点、合理的使用<merge>标签

  1. 使用Lint分析布局

  2. HierarchyViewer

  3. 使用ViewStub延迟加载视图优化那些不是必须要立即在UI上显示的控件

  4. 采用<merge> 优化布局层数
  5. 采用<include >来共享布局
  6. 使用SDK的layoutopt工具来分析布局 来降低布局复杂度
  7. 针对ListView的性能优化

    item尽可能的减少使用的控件和布局的层次; RelativeLayout是绝对的利器,通过它可以减少布局的层次。同时要尽可能的复用控件,这样可以减少 ListView的内存使用,减少滑动时GC次数。ListView的背景色与cacheColorHint设置相同颜色,可以提高滑动时的渲染性能。 ListView中getView是性能是关键,这里要尽可能的优化。getView方法中要重用view;getView方法中不能做复杂的逻辑计算,特别是数据库操作,否则会严重影响滑动时的性能。



参考:

http://rayleeya.iteye.com/blog/1961005


二、Java代码优化:

  1. 缓存(图片缓存、数据库缓存、对象数据缓存等)

  2. 数据类型选取、对象设计(继承、组合)、设计模式等

  3. 算法逻辑(必要时候可用空间换时间)

  4. 异常用于错误处理,不是控制程序流程

  5. 提前或延迟操作

  6. 网络优化

  7. 使用NIO机制

参考:

http://developer.android.com/training/articles/perf-tips.html  (java)

http://rayleeya.iteye.com/blog/1961005 (java)

http://www.trinea.cn/android/java-android-performance/  (java)

http://blog.csdn.net/innost/article/details/9008691  (Traceview)


三、数据库优化:

  1. 索引(当某字段数据更新频率较低,查询频率较高,经常有范围查询(>, <, =, >=, <=)或order by、group by发生时建议使用索引; 经常同时存取多列,且每列都含有重复值可考虑建立复合索引

  2. 批量插入、更新使用原子操作

  3. 查询时返回更少的结果集及更少的字段。

  4. 少用cursor.getColumnIndex(可以在建表的时候用static变量记住某列的index,直接调用相应index而不是每次查询。)

  5. 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右,

  6. 优化sql语句字符串,自定义事务等


Android性能优化

标签:android性能优化   java优化   数据库优化   布局优化   

原文地址:http://blog.csdn.net/wtyvhreal/article/details/44172125

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!