fluttercommunity / fluttercommunity/flutter_webview_plugin

The webview got blocked when the there is some heavy computation in onMessageReceived.

Aperta
#857 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
1.5k
Fork
938
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hello,
I am using webview in my application, and I am using postmessages from communication and maintaining state between flutter app and webview.
The issue that I am struggling with is if there is some heavy computation is going on in onMessageReceived callback of JavascriptChannel then the webview stuck.

For Example:
```
javascriptChannels: [
JavascriptChannel(
name: 'Tts',
onMessageReceived: (JavascriptMessage msg) {
sleep(const Duration(seconds: 60)); <<-- something to mimic the computational delay.
ttsMessagesReceived.add(msg.message);
}),
].toSet(),
```
I was under impressions that webview has its own process and UI thread and flutter is executing in its own process. so, in that case this should not block each other.

Is there any way to make it async so that webview will continues its functioning smoothly and onMessageReceived will do its computation in parallel? I tried to wrap it with async / await but it didn't help..

Ref:
https://github.com/flutter/plugins/blob/master/packages/webview_flutter/test/webview_flutter_test.dart#L581

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.