我的应用程序有一个启动画面活动,并启动主活动的意图,其中包含一个openGL视图。
有些用户报告游戏退出并重新开始。
我确定这是一个错误,但它失败了,所以我没有收到任何崩溃报告。
什么能导致它像这样无声地失败?这样一种方式,即应用程序循环并且用户看不到强制关闭窗口。
编辑:我已通过在slapsh活动的清单中放入noHistory =“true”来停止启动屏幕重启。现在用户只是报告它以静默方式退出。会导致什么?!
Edit2:如果有任何线索,我最近从SDK r10更新到SDK r16,我相信我已经删除了所有其他更改,如果可以,我会回到r10,但我可以找不到路。
编辑1月19日:我找到了此问题的根本原因。在某些时候谷歌向SDK介绍了一个名为“png crush”的功能。并且PowerVR并不总是很乐意加载这些纹理。有关详细信息和解决方案,请参阅我的其他问题here。
答案 0 :(得分:3)
没有源代码,很难说出真正发生了什么。尝试在具有不同API级别的模拟器上进行调试,看看是否可以重现它。
答案 1 :(得分:2)
您使用的是某些原生代码吗?因为如果存在段错误,它会将堆栈跟踪打印到logcat,但它不会创建Uncought Exception(所以在这种情况下,像ACRA这样的插件是无用的,即使我可以推荐ACRA很多)
答案 2 :(得分:1)
它确实发生在我的应用程序中,经常在开发 - 调试期间发生,通常是由于以下问题。
问题非常多变,因为它取决于GPU类型和GPU可用的内存。 例如,在我的galaxy选项卡上,它发生在我的基本摩托罗拉Defy之后(在加载级别和VBO方面)。
这会在故障排除中造成很多麻烦。
:)
答案 3 :(得分:0)
只能重写默认异常行为 - UncaughtExceptionHandler
。您可以创建自己的类ExceptionHandler implements UncaughtExceptionHandler
,并根据需要处理异常 - 将其发送给远程服务器或其他。要注册它,您应该创建Application
类:
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this.getApplicationContext()));
}
}
并在清单文件中注册此类
<application
android:name="your.package.name.YourApplication"
... >
...
</application>