libgdx使用了全屏模式之后,在某些机型会出现崩溃的情况,两年前就存在了,一直到现在为止,官方都没进行修复,其崩溃原因就是在源码AndroidGraphics.java中的onPause可以看到这样子的一段代码:
空白暂停(){ 同步(同步){ 如果(!)返回; 运行=false; 暂停=true; ,(停顿){ 尝试{//TODO:解决死锁竞争条件和快速恢复/暂停。//临时解决方法://Android ANR时间是5秒,所以等待4秒前假设//死锁和杀死进程。这可以很容易地由打开//最近最近的应用程序列表,然后双击应用程序按钮//~ 500毫秒之间。 synch.wait (4000); 如果(停顿){//暂停不会假如果> 公开课PatchedAndroidFragmentApplication: AndroidFragmentApplication () { 私人val exec=Executors.newSingleThreadExecutor () 私人val forcePause=Runnable { 尝试{ thread . sleep (100) }捕捉(e: InterruptedException) { } graphics.onDrawFrame(空) } 覆盖乐趣onPause () { 如果(活动! ! .window.attributes。旗帜和WindowManager.LayoutParams。FLAG_FULLSCREEN==WindowManager.LayoutParams.FLAG_FULLSCREEN) {//是全屏 exec.submit (forcePause) } super.onPause () } }
然后你的片段就继承这个自定义的类就行。
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接