为避免内存泄漏,正确写法应该是写个内部静态类+弱引用:
private static class MyHandler extends Handler {
private WeakReference<LoginActivity> activityWeakReference;
public MyHandler(LoginActivity activity) {
activityWeakReference = new WeakReference<>(activity);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
LoginActivity activity = activityWeakReference.get();
if (activity != null) {
}
}
}
本文介绍了一种通过使用内部静态类和弱引用来避免内存泄漏的Handler编写方式。具体实现是在Handler中保存Activity的弱引用,从而防止因Handler持有Activity强引用而导致的内存泄漏问题。
871

被折叠的 条评论
为什么被折叠?



