zoukankan      html  css  js  c++  java
  • 关于android 内存的笔记

    原文

    https://developer.android.com/training/articles/memory.html

    1.慎重使用Service,
    最好的办法是使用IntentService,一旦事情做完,就把他停掉。
    2.当UI切换到后台的时候,释放一些内存
    在Activity里面实现哦nTrimMemory()
    如果收到TRIM_MEMORY_UI_HIDDEN,把不需要的释放掉吧
    3.当系统内存吃紧时,主动释放一点出来
    onTrimMemory()
    TRIM_MEMORY_RUNNING_MODERATE
    系统正在杀进程
    TRIM_MEMORY_RUNNING_MODERATE
    系统内存不足了
    TRIM_MEMORY_BACKGROUND
    系统内存不足了,正在杀进程,快轮到了,赶紧清理一部分内存吧
    TRIM_MEMORY_MODERATE
    该杀当前进程了
    TRIM_MEMORY_COMPLETE
    内存没了,下一个就是当前进程了
    4. 检查一下APP可以使用多少内存
    getMemoryClass()
    如果要使用大量内存,尝试 largeHeap 属性,写在 <application> 里面
    5.避免位图浪费内存
    需要显示的区域有多大,加载多大的图片
    6.使用推荐的数据容器,例如 SparseArray, SparseBooleanArray, and LongSparseArray.
    7.注意内存超标
    避免使用枚举
    每个类 500 bytes of code
    每个类的实例 12-16 bytes
    8.使用抽象代码时要小心
    9.避免使用依赖注入的框架
    10.引用外部的lib时要小心
    11.优化整体性能
    12.用ProGuard 去移除不必要的代码
    13.最终的APK用zipAlign
    14.分析内存使用情况
    15 使用多进程

    Optimizing Your UI
    https://developer.android.com/tools/debugging/debugging-ui.html

    ProGuard
    https://developer.android.com/tools/help/proguard.html

    Investigating Your RAM Usage
    https://developer.android.com/tools/debugging/debugging-memory.html

  • 相关阅读:
    网线 ------ 交叉线
    ubuntu ------ 网络 ifconfig 不显示IP地址
    STM32L011D4 ----- 低功耗
    List 集合 使用 remove 踩得坑
    Map 集合遍历的4种方法
    elasticsearch 集群详解
    谷歌浏览器添加插件时显示程序包无效:"CRX_HEADER_INVALID" 解决办法
    MySql数据库 优化
    MySql 索引
    Kibana 安装
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/4178244.html
Copyright © 2011-2022 走看看