package com.topnews.app;
import java.io.File;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.utils.StorageUtils;
import android.app.Application;
import android.content.Context;
import android.util.Log;
public class AppApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
initImageLoader(getApplicationContext());
}
@Override
public void onTerminate() {
// TODO Auto-generated method stub
super.onTerminate();
//����ݻٵ�ʱ������������
}
/** ��ʼ��ImageLoader */
public static void initImageLoader(Context context) {
File cacheDir = StorageUtils.getOwnCacheDirectory(context, "topnews/Cache");//��ȡ�������Ŀ¼��ַ
Log.d("cacheDir", cacheDir.getPath());
//��������ImageLoader(���е�ѡ��ǿ�ѡ��,ֻʹ����Щ������붨��)����������趨��APPLACATION���棬����Ϊȫ�ֵ����ò���
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(context)
//.memoryCacheExtraOptions(480, 800) // max width, max height���������ÿ�������ļ������
//.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 75, null) // Can slow ImageLoader, use it carefully (Better don't use it)���û������ϸ��Ϣ����ò�Ҫ�������
.threadPoolSize(3)//�̳߳��ڼ��ص�����
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
//.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation�����ͨ���Լ����ڴ滺��ʵ��
//.memoryCacheSize(2 * 1024 * 1024)
///.discCacheSize(50 * 1024 * 1024)
.discCacheFileNameGenerator(new Md5FileNameGenerator())//�������ʱ���URI������MD5 ����
//.discCacheFileNameGenerator(new HashCodeFileNameGenerator())//�������ʱ���URI������HASHCODE����
.tasksProcessingOrder(QueueProcessingType.LIFO)
//.discCacheFileCount(100) //�����File����
.discCache(new UnlimitedDiscCache(cacheDir))//�Զ��建��·��
//.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
//.imageDownloader(new BaseImageDownloader(context, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)��ʱʱ��
.writeDebugLogs() // Remove for release app
.build();
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config);//ȫ�ֳ�ʼ��������
}
}