package com.dahuo.learn.app;
import android.app.Application;
import android.content.Context;
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;
/**
* @author YanLu
* @since 16/4/13
*/
public class AndroidApp extends Application{
private static AndroidApp instance;
public static String cacheDir = "";
public static AndroidApp getInstance() {
return instance;
}
public static Context getAppContext(){
return instance.getApplicationContext();
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
refWatcher = LeakCanary.install(this);
/**
* 如果存在SD卡则将缓存写入SD卡,否则写入手机内存
*/
if (getApplicationContext().getExternalCacheDir() != null && ExistSDCard()) {
cacheDir = getApplicationContext().getExternalCacheDir().toString();
} else {
cacheDir = getApplicationContext().getCacheDir().toString();
}
}
private boolean ExistSDCard() {
return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
}
public static RefWatcher getRefWatcher(Context context) {
AndroidApp application = (AndroidApp) context.getApplicationContext();
return application.refWatcher;
}
private RefWatcher refWatcher;
}