【问题标题】:Random app crashes while starting application in android在android中启动应用程序时随机应用程序崩溃
【发布时间】:2014-02-28 12:25:03
【问题描述】:

有时我的应用程序在尝试打开它时会崩溃。由于应用程序尚未完全启动,我没有收到错误报告。我也无法将我的应用程序连接到模拟器,因为这种行为是不可重现的。有时它只会崩溃一次。在其他时候,我可以尝试尽可能多地打开/重新打开它,而且效果很好。

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

您认为崩溃的原因可能是什么?如何获得对解决此问题有用的日志文件、堆栈跟踪?我根本无法重现它,所以当它发生时我永远不会看到 Logcat 输出。

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

我已将我的项目上传到 github,但我认为这对我没有任何帮助。

我的主要问题是:我有什么机会可以了解这些随机崩溃背后的原因可能是什么?

【问题讨论】:

  • 我猜是你的网络连接问题。
  • 需要为“有时”发布logcat
  • 在发出 http 请求时使用 asyntask 并进行处理。同时在发出请求前检查互联网是否可用
  • 就像我说的,发生此错误时我的手机永远不会连接。我尝试了几个小时来重现它 - 但这永远不会发生......有时应用程序不会崩溃好几天
  • @wqrahd 我将 Volley 用于整个 NetworkConnection。我根本不使用 AsyncTask - 我使用处理程序 - 如果我关闭应用程序并且处理程序正在接收消息,你认为这可能是一个问题吗?

标签: android forceclose


【解决方案1】:

Root 手机并安装 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));

【讨论】:

  • 不幸的是它没有。有时应用程序在捕获这些异常之前就崩溃了……我不知道为什么会这样
  • 您尝试过 CatLog 吗?日志中一定有什么(我认为)。
  • 发现错误。不幸的是,我的一个片段没有一个空的构造函数。仍然不明白为什么 UncaughtExceptionHandler 不跟踪这...
  • 很奇怪。所以我猜如果你的 Fragment 没有空的构造函数,在某些情况下Android会尝试通过反射来实例化它并失败?
  • 可能......,无论如何我都希望有一个堆栈跟踪......因为它进入我的活动的 onCreate-Method 并在尝试实例化片段时立即崩溃。但是我的问题已经解决了,你的回答是最有帮助的;)再次感谢
猜你喜欢
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多