如何解决应用程序停止工作的错误?

How to solve application stopped work bug?

我的应用程序可能 运行 内存不足或者存在一些问题。我对应用程序有异常处理,所以如果我有异常它会发送到我的电子邮件,这对调试很有用,但最近我遇到了一个奇怪的问题,当我将我的应用程序置于后台并启动 2-3 个其他应用程序时,例如 Gallery当我想重新打开我的应用程序实例时,它显示应用程序停止工作并且没有向我发送异常,所以很难解决,你能帮我解决我的问题吗,或者处理内存问题并重新启动整个应用程序显示应用程序已停止工作。

非常感谢。如果您向我展示如何在应用程序处于调试模式时模拟该内存问题,它也会有所帮助。

我的清单:

 <application
        android:name=".utils.JLApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="JustLook"
        android:largeHeap="true"
        android:noHistory="true"
        android:launchMode = "singleTop"
        android:theme="@style/JLTheme">

我也认为也许我的应用程序是正确的,但一些库或其他东西已经停止工作,这会抛出我的应用程序。但我不确定。我也注意到在我实现 google api 连接和熔断位置侦听器时经常发生这种情况,但我也不确定它是否会导致此类问题,也许内存问题更可能是这里的错误。但我不知道如何找到它或解决它,因为它不会抛出异常。

我必须说,除了崩溃之外,您所描述的行为听起来完全正常 ;)

Android 在需要为其他应用程序释放内存时终止后台应用程序。您遇到的崩溃必须以某种方式与 JLApplication 的 onCreate() 中的代码 运行 相关。调试或发现此错误的最佳方法是在调试模式下启动您的应用程序或将日志四处传播。

你也可以看看Debug.waitForDebugger()。

顺便说一句,您应该有充分的理由在您的应用程序标签中添加以下内容 - "largeHeap"

我认为您的问题与内存无关。 根据您描述问题的方式,我假设您的崩溃是由 NullPointerException 引起的。 正如 MarkySmarky 所描述的,Android 杀死后台应用程序以收集内存 space。

所以请查看您的 MainActivity onResume 或 onStart。必须有一些处理程序、适配器等在您恢复应用程序时为 null。

此外,我建议将 Crashlytics 添加到您的项目中。它详细跟踪您的崩溃。如果有关于您的问题的崩溃报告,请在此处post。