gpt4 book ai didi

android - 处理 GLThread.run() 中的错误

转载 作者:行者123 更新时间:2023-11-29 00:35:49 26 4
gpt4 key购买 nike

我刚刚向 Android 市场发布了我的应用程序的新版本,我的新版本在 Activity 中有一个 GLSurfaceView。尽管我没有做任何花哨的事情,但我有一个庞大的用户群,那里有很多不合标准的 Android 手机,而且我总是在 GLThread.run() 中遇到异常。

在不使整个应用程序崩溃的情况下捕获/处理这些异常的推荐方法是什么?理想情况下,我希望能够捕获错误,从 Activity 中删除表面 View 并关闭使用 OpenGL 的组件。我做了一些搜索,但主要是找到了 Firefox on Android 的异常报告和类似的东西。 :)

我正在考虑只使用未捕获的异常处理程序,将共享首选项标志切换为 false,然后让它崩溃;下一次运行我不会尝试添加那个 GLSurfaceView。

最佳答案

我最终使用以下代码解决了这个问题:

final UncaughtExceptionHandler defaultHandler = Thread.getDefaultUncaughtExceptionHandler();

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
if (thread.getName().startsWith("GLThread")) {
disableOpenGLStuff();
}

// You could wrap this in an else, but I'm not sure how good of an idea it is to leave the application running when a thread has crashed.
defaultHandler.uncaughtException(thread, ex);
});

关于android - 处理 GLThread.run() 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com