package com.lcodecore.twinklingrefreshlayout; import android.app.Application; import android.content.Context; import android.os.StrictMode; import com.github.moduth.blockcanary.BlockCanary; import com.github.moduth.blockcanary.BlockCanaryContext; import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout; import com.lcodecore.tkrefreshlayout.footer.BallPulseView; import com.lcodecore.tkrefreshlayout.header.SinaRefreshView; import com.squareup.leakcanary.LeakCanary; import static android.os.Build.VERSION.SDK_INT; import static android.os.Build.VERSION_CODES.GINGERBREAD; /** * Created by lcodecore on 2016/12/4. */ public class TkApplication extends Application { public static Context appContext; @Override public void onCreate() { super.onCreate(); appContext = this; if (LeakCanary.isInAnalyzerProcess(this)) { return; } enabledStrictMode(); LeakCanary.install(this); StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDeath().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyDeath().build()); BlockCanary.install(this,new AppBlockCanaryContext()).start(); // TwinklingRefreshLayout.setDefaultHeader(SinaRefreshView.class.getName()); // TwinklingRefreshLayout.setDefaultFooter(BallPulseView.class.getName()); } private class AppBlockCanaryContext extends BlockCanaryContext{} private void enabledStrictMode() { if (SDK_INT >= GINGERBREAD) { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() // .detectAll() // .penaltyLog() // .penaltyDeath() // .build()); } } }