package com.ttj;
import java.util.Stack;
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 android.app.Activity;
import android.app.Application;
import android.content.Context;
public class MyApplication extends Application {
/**
* 入口application
*/
private static Stack<Activity> activityStack;
private static MyApplication singleton;
@Override
public void onCreate() {
super.onCreate();
initImageLoader(this);
singleton = this;
CrashHandler.getInstance().init(this);
}
/**
* 初始化图片加载
*
* @param context
*/
public static void initImageLoader(Context context) {
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context).threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheSize(50 * 1024 * 1024) // 50 Mb
.tasksProcessingOrder(QueueProcessingType.LIFO).build();
ImageLoader.getInstance().init(config);
}
/**
* 获得application对象
*
* @return
*/
public static MyApplication getInstance() {
return singleton;
}
/**
* activity加入栈
*
* @param paramActivity
*/
public void addActivity(Activity paramActivity) {
if (activityStack == null)
activityStack = new Stack<Activity>();
activityStack.add(paramActivity);
}
/**
* 结束所有activity
*/
public void finishAllActivity() {
try {
for (Activity activity : activityStack) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
}