Android性能优化--代码优化/编程规范

常规原则

  • 将Acitivity 中的Window 的背景图设置为空。getWindow().setBackgroundDrawable(null)
  • 循环中不要使用声明临时临时变量
  • 合理选择数据结构/数据类型:根据数据结构的特性,比如查找功能比较多的使用,可以实现底层基于动态数组的ArrayList,但,移动,删除操作比较多的时候,可以使用底层基于链表实现的LinkedList
  • 熟悉常用的设计模式,并在代码中使用来合理的解耦
  • Cursor的打开关闭是非常耗时,注意对cursor的使用
  • 能用文件才做的就不要使用数据库(文件比数据库快10倍)
  • 使用优化布局
  • 如果方法用不到成员变量,可以把方法申明为static,性能会提高到15%到20%
  • 避免使用getter/setter存取field,可以把field申明为public,直接访问
  • static的变量如果不需要修改,应该使用static final修饰符定义为常量
  • 对ListView进行优化

Pool & Cache

  • 在使用Handler进行异步通信的的时候使用Message.obtain()或者Handler.obtainMessage()方式而非new Message()。
  • 使用缓存:涉及到I/O操作使用BufferedInputStream替代InputStream。
  • 使用线程池而非单独去使用线程。
  • ListView进行缓存优化,复用ConvertView
  • 网络缓存:数据库缓存http response,根据http头信息中的Cache-Control域确定缓存过期时间。

工具

  • Inspect Code:静态代码检查工具:Android studio—Analyze—Inspect Code…/Code cleanup… ,用于检测代码中潜在的问题、存在效率问题的代码段并提供改善方案;
  • DDMS—TraceView,用于查找程序运行时具体耗时在哪;
  • StrictMode:用于查找程序运行时具体耗时在哪,需要集成到代码中;

你可能感兴趣的:(Android性能优化--代码优化/编程规范)