class MyHandler extends Handler {
private WeakReference<MyLayoutActivity> mActivityRef;
public MyHandler(MyLayoutActivity activity) {
mActivityRef = new WeakReference<>(activity);
}
@Override
public void handleMessage(Message msg) {
MyLayoutActivity activity = mActivityRef.get();
switch (msg.what) {
case GETLAYOUTINFO:
parseJsonWithJsonObject(activity.mResponse, 1);
break;
}
}
}
这样,就可以避免内存泄露啦,记下来,方便查找!
private final MyHandler mHandler = new MyHandler(this);
本文介绍了一种使用弱引用(WeakReference)结合Handler的消息处理机制来避免Android应用中的内存泄露问题。通过将Activity的强引用转换为弱引用,可以确保在Activity不再存活时,Handler不会导致内存中残留的引用,从而有效防止内存泄露。
872

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



