Android Context内存泄漏的状况不少,有兴趣可阅读如下文章:html
Android学习系列(36)--App调试内存泄露之Context篇(上)java
Android学习系列(37)--App调试内存泄露之Context篇(下)ide
下面是关于Handler内存泄漏的一种解决方法:post
一、将Handler声明为静态类;学习
二、在Handler中增长一个对Activity的弱引用(WeakReference);this
具体实现以下:url
public class MyActivity extends Activity { private Handler mHandler = null; private final static int MSG_SECCESS = 1; private final static int MSG_FAILED = 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mHandler = new ActivityHandler(this); } private static class ActivityHandler extends Handler { private WeakReference<Activity> activityWeakReference = null; public ActivityHandler(Activity activity) { activityWeakReference = new WeakReference<Activity>(activity); } @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub MyActivity activity = (MyActivity) activityWeakReference.get(); if (activity != null){ switch(msg.what) { case MSG_SECCESS: break; case MSG_FAILED: break; default: break; } } } } }