用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

Imageloder

2016-12-22 作者: 张贤伟举报

[java]代码库

package com.example.day15_imageloader;
 
import java.io.File;
 
import android.app.Application;
import android.os.Environment;
import android.util.Log;
 
import com.nostra13.universalimageloader.cache.disc.impl.LimitedAgeDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.FIFOLimitedMemoryCache;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
import com.nostra13.universalimageloader.cache.memory.impl.LargestLimitedMemoryCache;
import com.nostra13.universalimageloader.cache.memory.impl.LimitedAgeMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration.Builder;
 
public class MyApplication extends Application {
    private File externalStorageDirectory;
    private long maxMemory;
 
    @Override
    public void onCreate() {
        super.onCreate();
     
        // 得到当前程序在系统中能申请的最大内存
        maxMemory = Runtime.getRuntime().maxMemory() / 1024/ 1024;
        Log.d("logd", "能申请的最大内存:  " + maxMemory);
 
        externalStorageDirectory = Environment.getExternalStorageDirectory();
        // 初始化ImageLoader的配置
        initImageLoader();
    }
 
    private void initImageLoader() {
 
        // 得到ImageLoader实例
        ImageLoader imageLoader = ImageLoader.getInstance();
        // 得到ImageLoader参数配置建造者对象
        ImageLoaderConfiguration.Builder builder = new Builder(this);
 
        // sd卡缓存策略
        // 参数一:在sd卡中图片缓存的目录
        // 参数二:当参数一的目录不可用时,在sd卡中图片缓存的备用目录
        // 参数三:图片文件名命名(加密)方式,MD5加密,hash码加密
        // 参数四:秒数值,就是图片存活的时长
        builder.diskCache(new LimitedAgeDiskCache(new File(externalStorageDirectory.getName()),
                new File(externalStorageDirectory.getName()), new Md5FileNameGenerator(), 60));
        // UnlimitedDiskCache:没有限制
 
        // 设置图像的最大磁盘缓存大小(以字节为单位)。
        // 默认情况下:磁盘缓存是无限的。
        builder.diskCacheSize(10 * 1024 * 1024);
 
        // 内存缓存策略,先进先出,参数:最大内存限制
        builder.memoryCache(new FIFOLimitedMemoryCache(10 * 1024 * 1024));
 
        // 内存缓存策略,达到设置的最大限制时,占内存最大的先删除
        // builder.memoryCache(new LargestLimitedMemoryCache(maxMemory/8));
 
        // 内存缓存策略,达到设置的最大存活时间时,就删除
        // 参数一:MemoryCache对象
        // 参数二:秒数值,就是图片存活的时长
        // builder.memoryCache(new LimitedAgeMemoryCache(new
        // LargestLimitedMemoryCache((int) (maxMemory/8)), 60));
 
        // 算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
        // builder.memoryCache(new LRULimitedMemoryCache((int) (maxMemory/8)));
 
        // 初始化imageLoader,设置配置对象
        imageLoader.init(builder.build());
 
        // 使用默认的缓存策略
        /*ImageLoader imageLoader2 = ImageLoader.getInstance();
 
        ImageLoaderConfiguration.Builder builder2 = new Builder(this);
 
        imageLoader2.init(builder2.build());*/
    }
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...