1。我们在开发中应该用到handler更新数据,这是很有可能导致内存泄漏,但我们可以尝试一些弱引用来实现!
1 private MyHandler myHandler; 2 // myHandler = new MyHandler(MainActivity.this); // 实例化 3 private static class MyHandler extends Handler{ 4 private WeakReference<MainActivity> mReference; 5 6 public MyHandler(MainActivity activity){ 7 this.mReference = new WeakReference<>(activity); 8 } 9 @Override 10 public void handleMessage(Message msg) { 11 super.handleMessage(msg); 12 if(mReference != null && mReference.get() != null){ 13 switch (msg.what) { 14 case 1: 15 break; 16 17 } 18 } 19 } 20 }