private static class MyHandler extends Handler {
private final WeakReference<ABCActivity> mActivity;
private MyHandler(ABCActivity activity) {
mActivity = new WeakReference<>(activity);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle data = msg.getData();
if (data != null) {
ABCActivity activity = mActivity.get();
boolean isDestroy;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
isDestroy = activity == null || activity.isFinishing() || activity.isDestroyed();
} else {
isDestroy = activity == null || activity.isFinishing();
}
if (!isDestroy){
activity.doABC(data.getString(“233”));
}
}
}
}
使用弱引用防止内存溢出的Handler写法
最新推荐文章于 2022-07-03 21:03:31 发布