有时我的应用程序在尝试打开时崩溃了。由于应用尚未完全启动,因此我没有收到错误报告。我也无法将我的应用程序连接到模拟器,因为此行为不可重现。有时它只会崩溃一次。在其他时候,我可以尝试按照自己的意愿打开/重新打开它,它的工作非常完美。
我只使用网络连接(没有相机和其他东西)。我没有任何可能导致应用程序崩溃的服务,我试图通过尝试在后台加载某些内容时停止应用程序来重现我的错误 - 根本没有成功。
您认为崩溃的原因是什么?如何获取日志文件,stacktrace有助于解决此问题?我根本无法重现它,所以当它发生时我从未看到过Logcat-Output。
这可能是片段初始化问题,但我看不出我的错误。这从未发生过,这不是一个常见的错误。它可能每周只会崩溃一次/两次 - 但它会在某个时间点崩溃......
我已在github上传了我的项目,但我认为这不会有所帮助。
我的主要问题是:我有什么机会可以看出这些随机崩溃背后的原因是什么?
答案 0 :(得分:2)
将手机挂机并安装CatLog。当它崩溃时,打开CatLog并保存日志,以便以后查看。
如果您想要自动化,请尝试此操作:
创建一个异常处理程序,将堆栈跟踪保存到文件中。
public class UncaughtExceptionSaver implements UncaughtExceptionHandler{
UncaughtExceptionHandler previousHandler;
Context context;
public UncaughtExceptionSaver (Context context){
this.context = context;
previousHandler= Thread.getUncaughtExceptionHandler();
}
@Override
void uncaughtException(Thread t, Throwable e){
/*Save the stacktrace from the throwable to a
file in your external directory, using context. */
previousHandler.uncaughtException(t,e);
}
}
然后在Application子类中,使用onCreate
方法调用它:
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionSaver(this));