juicycleff / flutter-unity-view-widget

Embeddable unity game engine view for Flutter. Advance demo here https://github.com/juicycleff/flutter-unity-arkit-demo
BSD 3-Clause "New" or "Revised" License
2.13k stars 518 forks source link

When using the project in flutter, sometimes(most times) comes out with problem "MessageQueue(18450)" #853

Open dongyangTHU opened 1 year ago

dongyangTHU commented 1 year ago

Hi, I am developing a Union-Flutter plugin based on the plugin and send messages to unity through flutter, but I often get a black screen , then comes out message following bug, why it sometimes shows and sometimes not? And how should do to fix this? W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {a9a2f57} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {a9a2f57} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001) W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {a3fb5e3} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {a3fb5e3} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001) W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {4625618} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {4625618} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001) W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {f465650} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {f465650} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001) W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {7d28af1} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {7d28af1} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001) W/MessageQueue(18450): Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {ac54598} sending message to a Handler on a dead thread W/MessageQueue(18450): java.lang.IllegalStateException: Handler (android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate) {ac54598} sending message to a Handler on a dead thread W/MessageQueue(18450): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:618) W/MessageQueue(18450): at android.os.Handler.enqueueMessage(Handler.java:771) W/MessageQueue(18450): at android.os.Handler.sendMessageAtTime(Handler.java:717) W/MessageQueue(18450): at android.os.Handler.sendMessageDelayed(Handler.java:687) W/MessageQueue(18450): at android.os.Handler.sendMessage(Handler.java:624) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate.sendDisplayEvent(DisplayManagerGlobal.java:713) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.handleDisplayEvent(DisplayManagerGlobal.java:347) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal.access$100(DisplayManagerGlobal.java:61) W/MessageQueue(18450): at android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback.onDisplayEvent(DisplayManagerGlobal.java:699) W/MessageQueue(18450): at android.hardware.display.IDisplayManagerCallback$Stub.onTransact(IDisplayManagerCallback.java:84) W/MessageQueue(18450): at android.os.Binder.execTransactInternal(Binder.java:1028) W/MessageQueue(18450): at android.os.Binder.execTransact(Binder.java:1001)