2015-12-22 14 views
5

私はcordova-plugin-wkwebview-engineプラグインを使用して、Cordovaでhtml5アプリケーションを実行しています。 WKWebViewアーキテクチャのため、webviewは別のスレッドに読み込まれます。今、私がCordova(カメラプラグインを使用して写真を撮っている)から別のスレッドを開き、カメラビューがアクティブである間にiOSがメモリ警告を出したとき、Webviewは強制終了されます。Cordovaプラグインを実行しているときにWKWebViewが閉じられないようにする方法

明らかに、WKWebViewビューはバックグラウンドスレッドのように処理され、停止します。カメラが戻ると、Webビューはもう存在しないため、アプリは空白(白い画面)になります。 UIWebView(WKWebViewのパフォーマンスが向上したために放棄された)では、アプリケーションのメインスレッドで実行されたため、決して殺されませんでした。

WKWebViewが閉じられないようにする方法はありますか?アプリがWKWebViewを実行しているメインアプリを保てない場合は、Webページのオーバーレイを表示する以外には役に立たないでしょう。

+0

最新のcordova ios 4.0にアップデートしましたか?コードバーの次のブログをご覧ください:http://cordova.apache.org/announcements/2015/12/08/cordova-ios-4.0.0.html – Joerg

+0

はい私はすでにiOSプラットフォーム4.0.0を使用しています –

+0

Cordovaは新しいiOS用のcordova 4.0.1を試す http://cordova.apache.org/announcements/2015/12/18/cordova-ios-4.0.1.html –

答えて

3

WKWebViewのメモリ管理についてはまだ問題があり、問題を解決するのに役立ついくつかのiOS 9セキュリティの変更があるようです。

HEREは、あなたのWKWebViewだけではなく、あなたのアプリケーションをクラッシュの、空白戻っている理由として、アップルのサポートスタッフの推論です:

その可能ながらWKWebViewプロセスはそう、そのメモリの予算を超えることができることでしょうではありませんあなたのアプリを終了させる原因となり、多くても空白の表示になります。

THISまた、同様の問題を引き起こしていたNSAppTransportSecurity Protocol(iOS 9が変更されました)の質問の灯りもあります。メモリ関連ではありませんが、いずれかのWKWebViewインスタンスで非セキュアURLを使用しているかどうか調べる価値があります。

あなたがいずれかの要求時にHTTP URLを使用している場合は、含める必要があります:あなたのアプリケーションの.plistファイル内

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key><true/> 
</dict> 

を。

それでも問題を解決できない場合は、私はおそらくメモリの問題を軽減するためにプラグインカメラの品質パラメータを下げるとともにWKWebView,のためのクロムforumをチェックアウトすることをお勧めします。

関連する問題