用ACRA Android收集崩溃小部件的堆栈跟踪



我正试图调试我正在与ACRA开发的应用程序的小部件,但我有一个问题。我使用以下代码来收集StackTrace:

import org.acra.ACRA;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import android.app.Application;
@ReportsCrashes(formKey = "",
 resToastText = R.string.crash_toast_text, mailTo = "mailAddress", mode = ReportingInteractionMode.TOAST, logcatArguments = {
        "-t", "100", "-v", "long", "ActivityManager:I", "MyApp:D", "*:S" })
public class MyApplication extends Application
{
    @Override
    public void onCreate()
    {
        super.onCreate();
        // The following line triggers the initialization of ACRA
        ACRA.init(this);
    }
}

问题是它发生在三星设备上,小部件在随机时间后变得无响应,我不知道是什么原因导致它(我从不调用onUpdate,所以什么都不应该发生,但这是另一个故事)。我想使用ACRA来收集StackTrace,当它变得无响应时,但是当,例如,我在10分钟后打开屏幕,看到小部件不工作时,我没有来自ACRA的消息,它收集了一个崩溃报告给我发送电子邮件,看到问题。

也许ACRA不起作用?如果小部件没有响应(例如按钮),这意味着它崩溃了,对吗?您有更好的策略来调试这种情况吗?

非常感谢

如果小部件没有响应,那么它没有崩溃,它处于某种死锁或等待状态。这就是为什么你没有收到ACRA的任何消息。

要么查看线程正在做什么,要么注入适量的调试来尝试确定是什么锁定了应用程序。

相关内容

  • 没有找到相关文章

最新更新