原文

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

更多相关文章

  1. Android系统RTC调试从驱动到应用(一)
  2. Android上获取本机安装的应用程序
  3. Android(安卓)Content Provider在应用程序之间共享数据的原理分
  4. 《转载》android context 与内存泄露
  5. 图片内存溢出处理
  6. Android的跨进程通信
  7. android手机刷机教程
  8. Android(安卓)Binder机制,虚拟机
  9. Android(安卓)应用进程启动流程

随机推荐

  1. Android知识梳理:消息机制之Looper
  2. Android(安卓)Phone拨出电话流程
  3. Android(安卓)Telephony —— 手机信号实
  4. Android(安卓)界面布局
  5. 对Activity比较复杂的style设置
  6. Android开发实例之登录界面的实现
  7. Android(安卓)Studio报错:ClassLoader ref
  8. Android开发 弹出框/页面样式设置 androi
  9. 设置ProgressBar的颜色
  10. Delphi xe7 FireMonkey / Mobile (Androi