We have integrated Jitsi Meet into our Android mobile applicaiton.
We are observing a behavior where for the first time when we place a call it take around 7 to 9 seconds to load the call and it remains in blank screen
further calls are loading fine
whenever we kill the app and load again it takes 7 to 9 seconds to load the app.
Is there any place to make changes to improve this, its very annoying.
Web releases has nothing to do with mobile releases. You can search in the branches for mobileXXXX.
You can check the console logs by searching for TIME log, which is available for the web client at least and you can see which part takes most of the time.
It’s likely loading of the JS bundle, which is several MB and needs to be done on the first start. The Hermes JS engine is supposed to make that better, but we got bad results last we tried, so we backed it out.
I don’t have any leads on how to shorten that period of time, sorry.
Honestly I think the approach should be to initialize RN in the background together with the app, that is, before joining the conference, and use some UI to communicate the loading process to the host app instead of showing a blank screen.
Seems like a complicated approach
You mean to initialize RN app (the one in android folder) together with the app (do yo mean host app where SDK is consumed ?)
Did anyone do a POC kind of this approach
Can you guide me to some examples ? or at high level on how to get started
No, I don’t mean to initialize the app. Since our native Android SDK is built using React Native, it needs to initialize RN itself before being able to render any views written in JS.
We currently manage the lifetime of the RN bridge in ReactInstanceManagerHolder.java. My suggestion is to try and expose a couple of methods (we have them for iOS) that would allow SDK users to initialize the bridge ahead of time.
You could do this early in your app lifetime, and this would mean that by the time you want to join a meeting you won’t have that wait time.
I also encountered the same problem. It took more than 8 seconds for Android to call JitsiMeetActivity.launch to receive CONFERENCE_JOINED for the first time, and then the second call was very fast. I have initialized the .initReactInstanceManager method of ReactInstanceManagerHolder, but there is no improvement. do you have other ideas