• 关于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

  • 相关阅读:
    前端开发拥有属于自己的云服务器能做什么?
    C语言编译、链接和运行详解
    C程序运行机制概述
    Java之顺序查找
    C语言注释
    C转义字符
    Java之二维数组基本使用
    Java之类与对象基本使用
    分享些发表技术类文章的平台
    解决蓝奏云链接无法访问问题
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/4178244.html
Copyright © 2020-2023  润新知