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

  • 相关阅读:
    关于token=%1$s类似问题的说明
    Android alarmmanager的使用方法介绍
    Android setCompoundDrawablesWithIntrinsicBounds手工设置文本与图片相对位置说明
    Android Collections.sort的几种用法介绍
    android SlidingMenu属性说明
    Android 多用户模式原理和实现介绍
    Java语言中一些常用的API
    java集合框架+应用小技巧
    javaScript2
    CSS
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/4178244.html
Copyright © 2011-2022 走看看