zoukankan      html  css  js  c++  java
  • android内存优化

    背景

     虽然android设备的配置越来越高,但是,由于android系统的机制导致(最主要是app程序的主线程不会真正退出而是在后台常驻内存中)

     ,这样手机中安装过多的app之后,导致内存被大量占用,最后可供系统和应用运算的内存越来越少。

    所以,我们在开发过程中,需要特别注意内存优化和释放。

    常规的总结

    一 注意

    1 Java四种引用方式,软,弱引用...
    2 减少不必要的全局变量,尤其是context
    3 及时关闭释放资源对象(对SQLiteOpenHelper,SQLiteDatabase,Cursor,文件,I/O操作等都应该记得显示关闭)
    4 避免创建不必要的对象
    5 缓存
    6 布局用Java代码完成(比XML快)类似的现有的前端框架react,vue等都是吧视图布局和js写在一个view页面上,其实也是调用docment.createElement通过js的形式创建标签。

    7  视图优化处理减少xml嵌套。
    8  使用线程池,处理复杂耗时的操作

    二 写法

    8 避免使用浮点数 ,在Android设备中,浮点数会比整型慢两倍
    9 对常量使用static final修饰符
    10 避免内部Getters/Setters,直接字段访问大约比调用getter访问快3倍
    11 静态方法代替虚拟方法
    12 避免使用枚举,性能比较差
    13 用precelable替代Serialization序列化
    14 数据压缩,传输

    ……

    ps:android系统中,每个单独的app分配的内存是8的整数倍,最大不超过过32mb。

    Google 发布 Android 性能优化典范

    http://www.oschina.net/news/60157/android-performance-patterns

  • 相关阅读:
    宠物收养场 Treap
    最佳课题选择
    [USACO08JAN]手机网络Cell Phone Network
    [USACO09MAR]地震损失2Earthquake Damage 2
    字符串距离 简单DP
    小行星群 网络流 二分图
    游览牧场 最小费用流
    BZOJ1391: [Ceoi2008]order
    BZOJ1570: [JSOI2008]Blue Mary的旅行
    BZOJ2243: [SDOI2011]染色
  • 原文地址:https://www.cnblogs.com/softwarelanguagebs/p/4715055.html
Copyright © 2011-2022 走看看