事情是這樣的。
我的程序是運行在電視上面的 系統android 4.4.2,之前也沒有遇到過這個問題。程序在之前的android設備上可以正常運行也不會閃退 ,到這款設備上老是出現問題,用try...catch 捕獲 沒有任何邏輯上面的問題。
到最後報了這個錯
java stacktrace:at android.view.GLES20Canves.nDrawDisplayList
at android.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420)
很詭異的出錯。
目前我的解決方法有二:
1、在AndroidManifest.xml中設置android:hardwareAccelerated="false",注意關閉整個app的硬件加速,慎用!
2、View有個方法支持單獨的View關閉硬件加速,可以設置mView.setLaterType(View.LAYER_TYPE_SOFTWARE);
暫時解決了我的問題.