我将我们的应用更新为Google Play Services第17版,这需要将我们应用的3D活动从Activity更改为FragmentActivity。我们现在比以前更早地调用GoogleApiClient.connect(),因为谷歌建议从活动的onStart()调用GoogleApiClient.connect()。
这引起了严重的倒退:现在,在发布Nexus 7时,全新安装大约30%的时间都会崩溃。崩溃记录NvRmChannelSubmit:NvError_IoctlFailed后跟无穷无尽的其他NvRmChannelSubmit错误,我认为这只是一个混乱的opengl驱动程序状态。
这是一个全新的错误,我们的应用程序除了以外没有任何变化:
我有一个理论是GPS连接UI和/或FragmentActivity的底层更改正在影响窗口,同时应用程序正在启动并干扰opengl驱动程序初始化。但我没有证据证明是原因,如果这是原因,我不知道如何解决它。
是否有其他人看到与GPS连接UI流或FragmentActivity相关的opengl驱动程序问题?
答案 0 :(得分:4)
问题已解决。
我确认opengl崩溃是由于在opengl初始化时从我们的Activity的onStart()方法调用GoogleApiClient.connect()引起的:如果我将调用推迟到connect()直到第一个OpenGL帧被渲染之后,bug就被修复了
结论:
我从未确定过opengl崩溃的确切根本原因。如果我们从onStart调用它(我们之前的实现稍后称之为),那么旧的GPS连接方法也可能导致同样的崩溃。崩溃也可能与GPS没有直接关系,但在opengl初始化期间使用FragmentActivity覆盖UI时,它只是一个普通的opengl驱动程序与窗口管理器问题。