java– 如何防止Android应用程序因后台线程中的异常而崩溃?

java– 如何防止Android应用程序因后台线程中的异常而崩溃?,第1张

概述这是一个普遍的问题,从具体情况中提出,但我想得到一般答案如何处理以下情况:背景:我有一个应用程序,它正在使用一些第三方库(广告网络提供商SDK–特别是AdMobSDK,基于GooglePlay服务).该库的功能对于应用程序并不重要.该库创建一个或多个后台工作线程.有时(非常罕见的情况),其

这是一个普遍的问题,从具体情况中提出,但我想得到一般答案如何处理以下情况:

背景:

我有一个应用程序,它正在使用一些第三方库(广告网络提供商SDK – 特别是AdMob SDK,基于Google Play服务).该库的功能对于应用程序并不重要.该库创建一个或多个后台工作线程.有时(非常罕见的情况),其中一个后台线程中存在未处理的异常,从而导致应用程序崩溃.我想忽略由此库引起的所有异常,无论其原因如何:在最坏的情况下,应用程序用户将看不到广告 – 它比应用程序崩溃要好得多.

由于库本身创建了后台线程 – 我不能通过try / catch包装它们.

有没有办法捕获所有非处理后台(非主要)线程异常,只是为了在这种情况下杀死线程,并防止应用程序崩溃?

相关问题

我看到了很多问题,但是其中一些问题太具体了(并没有涵盖我的情况),其他问题则指的是当开发人员控制线程创建并且能够使用try / catch包装整个线程时.如果我仍然错过相关问题,涵盖此案例,我将非常感谢这个链接

解决方法:

您需要做的就是使用BaseActivity扩展所有活动.该应用程序永远不会崩溃

BaseActivity的代码片段:

public class BaseActivity extends Activity{    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {            public voID uncaughtException(Thread paramThread, Throwable paramThrowable) {                Log.e("Error"+Thread.currentThread().getStackTrace()[2],paramThrowable.getLocalizedMessage());            }        });    }}
总结

以上是内存溢出为你收集整理的java – 如何防止Android应用程序因后台线程中的异常而崩溃?全部内容,希望文章能够帮你解决java – 如何防止Android应用程序因后台线程中的异常而崩溃?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1100640.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存