Android 软引用内存缓存图片

本文介绍了一种使用软引用实现的缓存机制,该机制能在系统内存不足时快速释放占用资源,减轻内存压力。通过实例展示了如何创建软引用,并应用于图片缓存中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,实现效果

  • 内存不足的时候使用Map集合强引用 ,不容易被释放,我使用SoftReference

 

2,实现逻辑

引用

【1】使用软引用进行,叫系统内存不足时能快点进行释放 ,软引用在版本更改后会被很快的释放

package com.utils.pic;

import android.graphics.Bitmap;

import android.support.v4.util.LruCache;





public class MemCacheUtils {





    // SoftReference<>        软引用

    // WeakReference<T>        弱引用

    // PhantomReference<T>        虚引用





    // 存的是bitmap对应的软引用

     HashMap<String, SoftReference<Bitmap>> mMaps;// 存图片





    public MemCacheUtils() {

        super();

         mMaps = new HashMap<String, SoftReference<Bitmap>>();



    }





    public void setCache(String url, Bitmap bimBitmap) {

        SoftReference<Bitmap> softReference = new SoftReference<Bitmap>(bimBitmap);

      

    }



    public Bitmap getCache(String url) {

        Bitmap bitmap = null;

        SoftReference<Bitmap> softReference = mMaps.get(url);

        if (softReference != null) {

          // 取出bitmap

         bitmap = softReference.get();

        }

        return bitmap;

    }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值