Android应用性能优化

1. Java代码优化

(1) 添加注释;

(2) 使用缓存(memoization); key<——>result

     —— 可以使用HashMap;(使用java.lang.Integer)         

          ——SparseArray类(使用基本类型int),当键是整数时,比HashMap效率高(HashMap会创建很多Integer对象)

(3) 反射reflection 会使代码变慢

(4) ANR(Android检测到输入事件在5秒内没被处理,或者BroadcastReceiver在10秒内没有执行完毕,会弹出anr)

(5) onCreate方法一般包含setContentView以展开布局,可以降低布局复杂性加快速度:

   a.使用RelativeLayout代替嵌套的LinearLayouts,尽可能保持扁平化布局;

      b.使用ViewStub推迟对象创建;

(6) 主线程中不要进行网络操作或访问文件系统;(不同的SD卡具有不同的“速度”,需要测试不同制造厂商的SD卡)

(7) StrictMode——检测不良行为的工具

          例 detectCustomSlowCall() 和 noteSlowCall():  用来检测应用中执行缓慢的代码或潜在缓慢的代码

(8) SQLite

     a. 加快要执行的SQL语句字符串的创建速度,使用+运算符连接字符串并不有效,    

              推荐使用StringBuilder对象,或调用String.format可以提高性能;

     b. 只读取需要的数据,调用查询是选择正确的参数,可使性能明显提升;

2. 使用NDK

在开发环境中将代码编译为本地代码,而不是在Android设备上

原因:

  字节码需要由虚拟机解释

  本地代码由设备处理器直接执行,没有任何中间步骤,执行速度更快

使用本地代码和NDK的方式有两种:

  应用的一部分用Java编写,另一部分用C/C++编写;

  应用全部用C/C++写;

名词解释:

NDK —— 为应用开发本地代码而诞生的一套工具
armeabi —— 代表ARM嵌入式应用程序二进制进口,v7a指架构

原文地址:https://www.cnblogs.com/nicoleTeng/p/7411331.html