常见内存泄漏原因

常见的内存泄露问题

1.Cursor,stream,socket用完没close

2.广播调用了registerReceiver注册后未调用unregisterReceiver()来注销

3.构造Adapter时,没有使用缓存的convertView

4.Bitmap对象不再使用时没有调用recycle()释放内存(3.0之前,之后不用了)

5.context泄漏:应该用getApplicationContext()的地方用了Activity的Context,导致activity退出的之后因为还被引用所以无法被GC,getApplicationContext()是应用程序的整个生命周期

6.内部类的生命周期比外部类要长,导致外部类比如activity退出之后,但是还被内部类引用所导致的不能及时被dalvik gc,由此引起的内存泄漏。比如,activity退出之后,线程还在运行或者sleep,还比如handler发延时消息,延时消息还未发送之前,此activity已经退出(参考上一篇)

7.webview对象没有及时的destroy

8.线程池没关闭

其他原因有待及时添加



你可能感兴趣的:(常见内存泄漏原因)