当前,我们尝试获取documentation about instrumenting my app to get trace logs之后在MyApplication类上提供的大型Android应用的配置文件跟踪日志文件。
我们正在尝试研究初始化我们的应用程序时发生的情况,而Dagger2在启动应用程序时创建对象图。
冷启动通常需要花费几秒钟的时间,我遇到的问题是,当我添加调试跟踪时,它会极大地减慢应用程序的初始化速度,并因ANR消息而崩溃。
com.github.anrwatchdog.ANRError: Application Not Responding
Caused by: com.github.anrwatchdog.ANRError$$$_Thread: main (state = RUNNABLE)
我想知道是否有一种方法可以防止Android OS在长时间阻止时使我的应用程序崩溃,或者至少增加ANR阈值。
欢迎任何帮助或提示。谢谢!
对于其他情况,这大致就是我在MyApplication.class中所做的:
public void onCreate() {
super.onCreate();
Debug.startMethodTracing("MyApp_onCreate()");
injectSelf();
AppInit.initApp(this);
Debug.stopMethodTracing();
}
答案 0 :(得分:0)
实际上,事实证明,我们有自己不知道的ANRWatchDogManager
,可以在哪里扩展限制。
public class ANRWatchDogManager implements ANRWatchDog.ANRListener {
该班级的某个地方:
public void startANRWatchDog() {
final int timeoutInterval = isDebugBuild() && isEmulator()
? ANR_INCREASED_TIMEOUT
: ANR_DEFAULT_TIMEOUT;
new ANRWatchDog(timeoutInterval).setANRListener(this).start();
}