安卓机Libgdx解决部分型锁屏崩溃的方法

  

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 ()   }   }      

然后你的片段就继承这个自定义的类就行。

  

<强>总结

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

安卓机Libgdx解决部分型锁屏崩溃的方法