Hardware acceleration can only be used with a single UI thread

报错提示:
java.lang.IllegalStateException: Hardware acceleration can only be used with a single UI thread.
Original thread: Thread[main,5,main]
Current thread: Thread[Timer-6,5,main]
	at android.view.HardwareRenderer$GlRenderer.checkRenderContext(HardwareRenderer.java:1805)
	at android.view.HardwareRenderer$Gl20Renderer.safelyRun(HardwareRenderer.java:2293)
	at android.view.HardwareRenderer$Gl20Renderer.destroyHardwareResources(HardwareRenderer.java:2359)
	at android.view.ViewRootImpl.destroyHardwareRenderer(ViewRootImpl.java:5901)
	at android.view.ViewRootImpl.die(ViewRootImpl.java:5796)
	at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:348)
	at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:303)
	at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
	at com.duyao.poisonnovel.activity.SignInActvity$2.run(SignInActvity.java:460)
	at java.util.Timer$TimerImpl.run(Timer.java:284)
解决方法:
 
 

This problem can be avoided by putting android:hardwareAccelerated="false" in the application tag in your manifest. But it doesn't solve the problem of course.

原因:
查了下网上的帖子,发现是硬件加速引起,错误提示中指出此处使用了HardwareAcceleration 模式(GPU pre rendering 和 frame buffer 缓冲机制造成),此处只能使用单一的UI线程。应该是相应的UI线程做了不允许的操作或者有多个UI线程,具体原因未去深究。
在编译过程中,发现使用eclipse编译出来的没有问题,但是用android studio编译出来的就出现了上述错误,使用的版本都是4.4,看到有人说4.4以上的 APP 是默认打开 硬件加速了,具体原因还会进一步分析。

This problem can be avoided by putting android:hardwareAccelerated="false" in the application tag in your manifest. But it doesn't solve the problem of course.

猜你喜欢

转载自blog.csdn.net/u010898441/article/details/78772074
今日推荐