Android
webView
Cordova

cordova build android で作ったアプリで起動が遅い問題について(解決してない)->解決した

アプリの構成

  • ios/android app (webview) + front server(onsen ui + angular2 + monaca) + api server (rails) 

問題

  • cordova build android で作ったandroidアプリで異常に起動が遅い問題が出た
  • iosアプリはすぐに起動する

調査結果

  • androidアプリの挙動を見ると、front server から取得する app.bundle.js の実行が異常に遅い(20秒くらいかかっている)
  • android ブラウザから直接アクセスするとすぐに動く

未解決

  • ここまで調査結果から、 cordovaでビルドしたアプリに何らかの問題がありそうだけど、よくわからず時間切れ。。。。

再調査(2017/10/27)

調査結果

  • デバッグしていくと cordova.jsDOMContentLoaded が発火しないことがわかった
  • AppModule に全クラスの定義をしているので、削除してみると、遅延が半分くらいになった。

まだ未解決だけどtryする価値があること

  • AppModule の定義を極力削る
  • monaca transpile をやめる
  • angularのAoTコンパイルを試す

tryした結果

  • angularのAoTコンパイルで実測してみたら、20秒->5秒になった

結論

  • onDOMContentLoaded の発火が遅いときは、html/css/jsのパースに時間かかってるのでそこを見直せ