zoukankan      html  css  js  c++  java
  • 图片下载缓存防止OOM

    一  ImageManager

        ImageMemoryCache(内存缓存)、ImageFileCache(文件缓存)
        关于Java中对象的软引用(SoftReference),如果一个对象具有软引用,内存空间足够,垃 圾回收器就不会回收它;
        如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来
        实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。

    二  LruCache缓存 (android最新的版本中对软引用支持的并不是很好 )     

    LruCache设定的值,系统自动释放内存,这个类是3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入
    android-support-v4的jar包

    sd卡和内存空间都可缓存。

     

     


    注意-----

    线程池很好的帮我们管理并发和线程数量问题

    /**
    * 获取线程池的方法,因为涉及到并发的问题,我们加上同步锁
    * @return
    */
    public ExecutorService getThreadPool(){
    if(mImageThreadPool == null){
    synchronized(ExecutorService.class){
    if(mImageThreadPool == null){
    //为了下载图片更加的流畅,我们用了2个线程来下载图片
    mImageThreadPool = Executors.newFixedThreadPool(2);
    }
    }
    }

    return mImageThreadPool;

    }

     

     

     

     

     

  • 相关阅读:
    202103226-1 编程作业
    7 20210516-1 团队作业3—需求分析规格说明书
    原型设计作业
    案例分析作业
    202103226-1 编程作业
    阅读——《构建之法》
    第一周学习任务
    牛客app测评报告
    wordcount编程
    准备工作
  • 原文地址:https://www.cnblogs.com/softwarelanguagebs/p/4716319.html
Copyright © 2011-2022 走看看