Android Handler防止内存溢出的写法
时间:2016年4月20日14:21:49
static class MyHandler extends Handler {private WeakReference<Context> weakReference;public MyHandler(Context context) {weakReference = new WeakReference<>(context);}@Overridepublic void handleMessage(Message msg) {XXActivity activity = (XXActivity) weakReference.get();if (activity != null) {activity.textView.setText(result);}}}
注意:高亮标记部分,需要将weakReference.get()获得的Context转换为想的Activity子类才能获取到当前Activity的相应控件,如果仅仅转换为Activity的话是无法获取到该Activity下的控件并进行操作的。

浙公网安备 33010602011771号