内存优化

内存泄露和内存溢出

内存泄露就是对某一内存空间的使用完成后没有关闭。
出现的

主要原因:
某些长存对象持有一些应该被回收的对象,而导致垃圾回收器无法回收这些应该被回收的对象。

出现的场景:

  1. 数据库的cursor没有关闭
  2. bitmap对象使用完没有recycle
  3. adapter中没有复用contentview
  4. activity中对象的生命周期大于activity的生命周期

优化内存的方法:

  1. 减少不必要的全局变量尽量避免static成员变量引用资源耗费过高的实例比如Context。
  2. Cursor回收
  3. receiver回收
  4. stream/file回收
  5. 避免创建不必要的对象。(不要在自定义view的ondraw方法中大量创建对象)
  6. 避免内部getter/setter方法。