【问题标题】:Overriding the main execution thread of an android app覆盖android应用程序的主执行线程
【发布时间】:2014-05-09 22:42:57
【问题描述】:

Android 应用和/或活动的执行主线程是什么?

我的所有代码都在 onCreate 中开始,但是,我想/需要知道是否可以覆盖调用 onCreate 的应用程序/活动部分?

我想在我的活动周围放置一个“最重要”的 try/catch,作为所有可能的异常的全部捕获,而不是 在我覆盖的每个方法中都放置一个 try/catch。

【问题讨论】:

    标签: android


    【解决方案1】:

    在 android 中,应用程序的主要入口点是 Zygote 服务。 Zygote 处理 main 方法,启动您的应用程序然后活动循环。为了更好的理解,研究一下Android的Zygote服务。处理 Applicationmanager Service、ActivityStack Activity Threadds 等。

    如果你想捕获所有未捕获的异常,你可以简单地使用Thread.setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)。但是您需要注意抛出异常的位置。如果你在 ui-thread 中抛出异常并且没有捕获它,即使你设置了 uncaughtexceptionhandler,它也很可能会导致你的应用程序停止。

    【讨论】:

    猜你喜欢
    • 2012-08-29
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2020-02-14
    • 2023-03-05
    相关资源
    最近更新 更多