web-dev-qa-db-ja.com

私のコルドバウェブビューアプリは、同じ電話のAndroidブラウザよりも本当に遅いです

Ionicframeworkとcordovaを使用してAndroidアプリを作成しました。

しかし、Samsung Galaxy S4で実行しようとすると、アプリは携帯電話のWebブラウザーにある同じコードよりも本当に遅くなります。

どうすれば同じパフォーマンスを期待できますか?

私はもう試した :

Android:hardwareAccelerated="true"

this.appView.getSettings().setRenderPriority(RenderPriority.HIGH);
this.appView.getSettings().setPluginState(Android.webkit.WebSettings.PluginState.ON_DEMAND);

<uses-sdk Android:minSdkVersion="14" Android:targetSdkVersion="19" />

最新の3.6コルドババージョンで

電話のブラウザで表示されるのと同じパフォーマンスを実現するにはどうすればよいですか(たとえば、メタアプリ対応)?

15
Cédric

コードやサンプルを提供していないので、わかりにくいです。
最新のAndroid 4.4 KitKatを使用していない場合は、本当に古い WebView を使用している可能性があります。

古いバージョンのAndroidデバイス(4.0-4.3)は、Androidのデフォルトのブラウザを使用します。これは、最新のChromeよりもパフォーマンスと標準への準拠が大幅に劣ります。Crosswalkを使用すると、特定のよりパフォーマンスの高いバージョンのChromeすべてのAndroidデバイスで使用し、デバイス間の変動と断片化を減らすため。

これ article は問題をより深く掘り下げており、読む価値があります。

Webブラウザーと同じパフォーマンスを実現したい場合は、 Crosswalk を使用してWebランタイムを置き換えることができます。

Crosswalk簡単にCordovaと統合できます。

ionicフレームワークを使用すると、次のことができます 単純に

ionic browser add crosswalk

Crosswalkの別のバージョンを指定する場合は、ionic browser listを実行して、使用可能なブラウザーとバージョンを確認してください。次に、以下を実行します。

ionic browser add [email protected]

Nick Raboy興味深い記事 を作成しました。これは、Crosswalkを統合するために必要なすべての手順をガイドします。Cordova+Ionic Frameworkを使用します。

非常に役立つのは、すべてを簡単な方法で説明しているビデオです。

横断歩道は 共有モード :でも使用できます。

「共有モード」では、複数のCrosswalkアプリケーションで1つのCrosswalkランタイムを共有できます。ランタイムがデバイスにまだインストールされていない場合は、Google Playストアから、または開発者が指定したダウンロード場所からダウンロードされます。この機能を使用する場合、Crosswalkライブラリはアプリケーションのパッケージに含まれていないため、大幅に小さくなります。

大幅に小さいAPKファイルサイズを生成します。

ionicフレームワークにはまだ統合されておらず、これを含めるためのロードマップはありません feature

18
LeftyX

1 + 1では、クロストークを通じてネイティブWebビューと同じパフォーマンスが得られます。残念ながら、これらのオプションはどちらも、同じアプリを「由緒ある」iPhone5sでテストした場合ほど応答性が高くありません。したがって、クロストークを使用するだけでは不十分かもしれませんが、幸運になる可能性があります:)

1
psimons