2014-02-28 97 views
0

有时我的应用程序在尝试打开时崩溃。由于该应用程序尚未完全启动,因此我没有收到错误报告。我也无法将我的应用程序连接到模拟器,因为此行为不可重现。有时它只会崩溃一次。在其他时候,我可以尝试按需要打开/重新打开它,并且它非常完美。在Android中启动应用程序时出现随机应用程序崩溃

我只使用网络连接(没有相机和其他东西)。我没有任何可能导致应用程序崩溃的服务,我尝试通过在后台加载某些内容时停止应用程序来重现我的错误,但没有成功。

您认为可能是导致崩溃的原因是什么?我怎样才能得到一个日志文件,堆栈跟踪有用的解决这个问题?我根本无法复制它,所以当它发生时我从来没有看到Logcat-Output。

这可能是一个片段初始化问题,但我看不到我的错误。这从来没有发生过,这只是一个常见的错误。它可能每周只有一次/两次崩溃 - 但它在某个时间点崩溃...

我上传了我的项目github,但我不认为这有助于某种程度。

我的主要问题是:什么机会,我必须看看这些随机崩溃背后的原因是什么?

+1

我想这个问题是您的网络连接。 –

+3

需要发布“有时”的logcat – user2450263

+1

当你提出http请求并处理它时,请使用asyntask。在请求之前请检查互联网是否可用 –

回答

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); 
    } 
} 

然后在应用程序子类,称这种现象为onCreate方法:

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionSaver(this)); 
+0

谢谢,这可能会工作;) – Frame91

+0

不幸的是它没有。有时候,应用程序在它发现这些异常之前就崩溃了......并且我无法弄清楚为什么会发生这种情况 – Frame91

+0

您是否尝试CatLog?日志中必须有东西(我认为)。 – Tenfour04