执行Android应用和/或活动的主要线程是什么?
我的所有代码都是在onCreate中开始的,但是,我想/需要知道是否可以覆盖调用onCreate的app / activity部分?
我希望在我的活动中放置一个“最顶层”的try / catch作为所有可能的异常,而不是 将try / catch放在我覆盖的每个方法中。
答案 0 :(得分:3)
在android中,应用程序的主要入口点是Zygote服务。 Zygote处理主要方法,启动您的应用程序然后活动周期。为了更好地理解,请研究Android的Zygote服务。处理Applicationmanager Service,ActivityStack Activity Threadds等。
如果您想捕获所有未捕获的异常,只需使用Thread.setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)
即可。但是你需要注意抛出异常的地方。如果你在ui-thread中抛出异常并且没有捕获它,即使你设置了uncaughtexceptionhandler,它也很可能会导致你的应用程序停止。