• Android性能优化总结


    合理的管理内存

    • 节制地使用Service,尽量使用IntentService
    • 避免在Bitmap上浪费内存,压缩图片处理
    • 谨慎使用抽象编程
    • 尽量避免会用依赖注入框架
    • 使用ProGuard简化代码,好处:混淆、压缩、优化。
    • 学会使用分析内存使用情况,避免内存泄露的问题。
    • 使用优化过的数据集合
      • SparseArray就避免掉了基本数据类型转换成对象数据类型的时间,传统Java API中提供的集合类会相对比较低效

    高性能的编码优化

    • 避免创建不必要的对象  
      • 当设计字符串拼接时,使用StringBuild(线程非安全,效率较高)和StringBuffer(线程安全,效率略低)代替String
      • 当返回的String需要拼接是,直接返回StringBuild或StringBuffer代替
      • 尽量使用基本数据类来代替封装数据类型,更高效。
    • 对常量使用static final修饰符,效率更高。
    • 使用工具类调用静态方法实现通用的功能是一种效率较高的做法。
    • 使用for-each循环方法
    • 避免使用内部Getter和Setter方法
    • 多使用系统封装好的API
      • System.arraycopy()进行数组拷贝

        注:以上优化技巧只属于良好的编码习惯,对性能提升起到“微优化”,使用合适的算法与数据结构将永远是你优化程序性能的最主要手段。

    布局优化技巧

    • 尽量避免嵌套布局
      • 复杂的布局优先使用RelativeLayout
    • 重用布局文件,优先使用merge避免引入嵌套布局。
    • 仅在需要时才加载的布局使用ViewStub更合理,不过会增加一层无用的布局,权衡使用。
  • 相关阅读:
    python中Cmap的用法
    Js中 关于top、clientTop、scrollTop、offsetTop
    通过ByteArray来播放MP3
    JS中的call()和apply()方法
    flash 屏幕更新 Essential.ActionScript
    Aptana Studio 3 如何汉化,实现简体中文版
    Flash Builder更新Flash player版本
    随机不重复
    Aptana :调试 javascript 图解
    获取两个数组的相同元素或不相同的元素
  • 原文地址:https://www.cnblogs.com/changyaohua/p/5210028.html
Copyright © 2020-2023  润新知