- Start on iOS is comparable to other apps I use. 3-4 seconds.
- Problem mostly seems to be Android.
- Meteor waits until ddp connection made before closing launch screen. We don't need to do that.
- Try upgrading crosswalk plugin.
- Maybe the launch screen plugin?
- https://medium.com/@gautham.gg/reduce-the-launch-time-of-a-meteor-mobile-app-e2f009951011?source=linkShare-2a8267bb006f-1469058209
- Code splitting?
- try with different launch screen settings. could be delay or autohide?
- try with closing launch screen immediately on load of app
- try without launch screen plugin (see if main.html gets rendered?)
- try without any cordova plugins
- try with disabling wait for DDP connection
- try with newer crosswalk. meteor locks at 1.6, 1.8 is out
- i really don't want to but if it's bundle size then try with webpack code splitting (i don't think it's bundle size)
- use network safari debug pane and iOS sim to see what actually gets loaded from server on load
- test build with all our app code commented out
- test blank project
- 942: no launch screen
- 952: no app code + meow
Here is what is loaded from the server, just for reference.
a["{\"msg\":\"ping\"}"]
a["{\"msg\":\"added\",\"collection\":\"serverWatches\",\"id\":\"Lxe639mBRZQqokEye\",\"fields\":{\"key\":\"ROCK\",\"isAlive\":true}}", "{\"msg\":\"ready\",\"subs\":[\"uCKHXEMbDG3MfCzav\"]}", "{\"msg\":\"ready\",\"subs\":[\"WRsrtmBq45zuJG9vb\"]}", "{\"msg\":\"added\",\"collection\":\"meteor_autoupdate_clientVersions\",\"id\":\"6uTaXr3jTXdkoYh7N\",\"fields\":{\"current\":true}}", "{\"msg\":\"added\",\"collection\":\"meteor_autoupdate_clientVersions\",\"id\":\"version\",\"fields\":{\"version\":\"af3c11b58b360696a38847c7ef6eeefaba4da9c1\"}}", "{\"msg\":\"added\",\"collection\":\"meteor_autoupdate_clientVersions\",\"id\":\"version-cordova\",\"fields\":{\"version\":\"0c531e0df0b8bafc281d122769d2a2b38036eda6\",\"refreshable\":false}}", "{\"msg\":\"added\",\"collection\":\"meteor_autoupdate_clientVersions\",\"id\":\"version-refreshable\",\"fields\":{\"version\":\"8822ea86c97b7a5102656ed00c883d0c146579eb\",\"assets\":{\"allCss\":[{\"url\":\"/b9213b1c6754ff9193ffc097c28004a13614c326.css?meteor_css_resource=true\"}]}}}", "{\"msg\":\"ready\",\"subs\":[\"B9heGEWsZv6RYBQHu\"]}"]
a["{\"msg\":\"ready\",\"subs\":[\"aGrZkCsGjvXi4X5Ms\"]}"]
{ "websocket": false, "origins": ["*:*"], "cookie_needed": false, "entropy": 3499980622 }
a["{\"msg\":\"pong\"}"]
So, it looks like it does a ping, then loads collection data, and then information about the server itself. The ping/pong continues indefinitely.