@ZeroGeek
2015-08-28T10:04:38.000000Z
字数 1198
阅读 784
android
以下摘自官网
class BitmapWorkerTask extends AsyncTask {private final WeakReference imageViewReference;private int data = 0;public BitmapWorkerTask(ImageView imageView) {// Use a WeakReference to ensure the ImageView can be garbage collectedimageViewReference = new WeakReference(imageView);}// Decode image in background.@Overrideprotected Bitmap doInBackground(Integer... params) {data = params[0];return decodeSampledBitmapFromResource(getResources(), data, 100, 100));}// Once complete, see if ImageView is still around and set bitmap.@Overrideprotected void onPostExecute(Bitmap bitmap) {if (imageViewReference != null && bitmap != null) {final ImageView imageView = imageViewReference.get();if (imageView != null) {imageView.setImageBitmap(bitmap);}}}}
以下为本人项目中的代码片段,完整代码
static class WeakReferenceHander extends Handler {private final WeakReference<ShareUploadActivity> mActivity;public WeakReferenceHander(ShareUploadActivity activity) {mActivity = new WeakReference<ShareUploadActivity>(activity);}@Overridepublic void handleMessage(Message msg) {if (mActivity.get() != null) {mActivity.get().handleReceiveMessage(msg);}}}
