数字と文字をカウントダウンするためのアプリケーションがGooglePlayにあります。このアプリケーションでは、次のアクティビティがあります。
エラー報告にはGoogleAnalyticsとACRAを使用しています。私はGLsurfaceViewを使用していませんが、ACRAを1日に1〜2回使用しているため、次のエラーが発生します。
Java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC
at Android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.Java:763)
at Android.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.Java:663)
at Android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.Java:502)
at Android.view.ViewRootImpl.performTraversals(ViewRootImpl.Java:1325)
at Android.view.ViewRootImpl.handleMessage(ViewRootImpl.Java:2467)
at Android.os.Handler.dispatchMessage(Handler.Java:99)
at Android.os.Looper.loop(Looper.Java:137)
at Android.app.ActivityThread.main(ActivityThread.Java:4424)
at Java.lang.reflect.Method.invokeNative(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:511)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:784)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:551)
at dalvik.system.NativeStart.main(Native Method)
誰かが何が起こったのか知っていますか?私はsurfaceViewを使用しません。誰かが私を助けることができますか?
同じ問題が発生し、問題が一部のデバイスのWebViewとハードウェアアクセラレーションに関連していることがわかりました。
ハードウェアアクセラレーションを完全にオフにする代わりに、すべてのWebViewで無効にしましたAdMobビューを含む!
ここにそれを行う方法があります:
adView = new AdView(this); //or get it with findViewById()
if (Build.VERSION.SDK_INT >= 11) {
adView.setLayerType(AdView.LAYER_TYPE_SOFTWARE, null); //instead of LAYER_TYPE_HARDWARE
}
アプリのハードウェアアクセラレーションを無効にしてみましたか(OpenGLを利用しているため、この修正の予感があります)?
追加
<application Android:hardwareAccelerated="false" ...>
マニフェストのアプリケーションタグに明示的にオフにします。そしておそらく問題はなくなるでしょう。
知りたい場合は、この質問と回答を参照してください。 ハードウェアアクセラレーションを使用する必要があるかどうか