用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...