Handlerメモリの漏洩と解決方法
2252 ワード
Handlerによるメモリの漏洩および解決策
AndroidでHandlerを使用してメモリが漏れる原因
解決策
, Activity 。
! Handler , Handler Activity 。
: Handler Activity (WeakReference)
static class MyHandler extends Handler {
WeakReference mActivityReference;
MyHandler(Activity activity) {
mActivityReference= new WeakReference(activity);
}
@Override
public void handleMessage(Message msg) {
final Activity activity = mActivityReference.get();
if (activity != null) {
mImageView.setImageBitmap(mBitmap);
}
}
}
上記のコードについては,Activityが破棄されるとHandlerの弱い参照指向があってもGCによって回収される.
弱引用の紹介
引用についてもっと多くのものについては各引用の違いに進んでください