• 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指架构

  • 相关阅读:
    Integer类的parseInt和valueOf的区别
    华为实习小结
    程序员浪费生命的几种方式
    移动前端中viewport(视口) 转
    Console API 与命令行
    Ajax
    浏览器缓存机制
    mysql之各种命令总结
    jquery file upload 文件上传插件
    文件上传插件uploadify详解
  • 原文地址:https://www.cnblogs.com/nicoleTeng/p/7411331.html
Copyright © 2020-2023  润新知