• 如何使用软引用


    1. 什么是软引用:http://en.wikipedia.org/wiki/Soft_reference
    1. 使用软引用:

    我构造了简单的HashMap来存储SoftReference的对象。

          private HashMap<Integer, SoftReference<Bitmap>> mThumbnailCache = null;//新建软引用缓存。

     

    //创建一个软应用

          private SoftReference<Bitmap> createSoftReference(int albumId) {

               if (null == mCacheManager)

                     return null;

               Bitmap bmpTmp = mCacheManager.getThumbnail(getAlbumPos(albumId));

               if (null == bmpTmp)

                     return null;

                SoftReference<Bitmap> sr = new SoftReference<Bitmap>(bmpTmp);

               bmpTmp = null;//需要置空

               return sr;

          }

     

    //获得软引用缓存中的Bitmap

          public Bitmap getThumbnail(int albumId) {

               if (null == mCacheManager || null == mThumbnailCache)

                     return null;

               if (mThumbnailCache.containsKey(albumId)) {

                     SoftReference<Bitmap> bmpSr = mThumbnailCache.get(albumId);

                     if (null != bmpSr && null != bmpSr.get())

                          return bmpSr.get();

                     mThumbnailCache.remove(albumId);

               }

    //如果GC释放了一个SoftReference,则需要重新创建SoftReference,并且将该SoftReference存到HashMap里。

               SoftReference<Bitmap> sr = createSoftReference(albumId);

               if (null == sr)

                     return null;

               mThumbnailCache.put(albumId, sr);

               return sr.get();

          }

  • 相关阅读:
    ​综述 | SLAM回环检测方法
    从零开始一起学习SLAM | 用四元数插值来对齐IMU和图像帧
    2019-2020年值得关注的9个AR发展趋势
    计算机视觉方向简介 | 图像拼接
    “人工智能资源对接平台”发布,找人、找技术不再难!
    解决上不了网的特例
    机械键盘简介
    笔记本升级方案
    CSS构造表单
    CSS构造表格
  • 原文地址:https://www.cnblogs.com/androidwsjisji/p/2231349.html
Copyright © 2020-2023  润新知