ホームページ  >  記事  >  ウェブフロントエンド  >  IOS Html リッチ テキスト レンダリング メソッド: DTCoreText、WKWebView、および UIWebView_html/css_WEB-ITnose のメモリ使用量の比較

IOS Html リッチ テキスト レンダリング メソッド: DTCoreText、WKWebView、および UIWebView_html/css_WEB-ITnose のメモリ使用量の比較

WBOY
WBOYオリジナル
2016-06-21 08:57:382062ブラウズ

アプリのコンテンツ ページ (詳細ページ) では、リッチ テキストの表示は常に対処が必要になることが多い問題であり、通常、バックエンドのリッチ テキスト編集では、HTML の方がリッチ テキスト表示の問題に関しては、次の 3 つの方法は、HTML リッチ テキストを表示する最適な方法ではありません。これらは、フロントエンドとバックエンドの変換が少なくて済む比較的単純な解決策です。すぐに統合できます。

以下は、これら 3 つの方法のメモリ テストと比較です。結局のところ、詳細ページは比較的大きく、頻繁に開かれるため、メモリの使用量は考慮する必要があります。

基本環境:


  • Objective-C
  • Xcode 6.4
  • 展開ターゲット IOS 8.0
  • DTCoreText バージョン: 1.6.16

説明:


  • DTCoreText: サードパーティのリッチ テキスト表示コンポーネント。Html から NSAttributedString への変換をサポートします。
  • WKWebView: IOS 8.0 以降でサポートされる、IOS の WebKit フレームワークのブラウザ コンポーネント。
  • UIWebView: IOS 2.0 以降でサポートされる、IOS の UIKit フレームワークのブラウザ コンポーネント。 >
  • テスト方法:

3 つのコンポーネントを使用して Web ページのコンテンツを表示します (例: http://news.dayoo.com/guangzhou/201512/11/) 139995_45489706.htm);
    ページがロードされたら、コンテンツをクリアし、再度コンテンツをロードし、3 回繰り返します。
  1. 3 つのコンポーネントが占有しているメモリを比較します。 🎜>
  2. メモリデバッグツール: Instruments
  3. テスト結果:

DTCoreText


WKWebView

UIWebView

実行時のメモリ使用量: DTCoreText < < UIWebView 実行後のメモリ使用量: WKWebView < DTCoreText < UIWebView

UIWebView を開く必要があるメモリ使用量の問題が解決されていない場合。新しい WKWebView は、IOS 7 以前のバージョンを放棄できる場合は、使用する価値があります。少なくとも、IOS ではメモリ使用量とネイティブ NSAttributedString の差はそれほど大きくありません。デバイスのメモリとパフォーマンスが高くなると、その差は小さくなり、純粋な Html ページの柔軟性が高くなります。

以前 UIWebView を使用していたとき、NSURLCache の設定や NSURLCache のクリアなど、メモリを解放するためにさまざまな方法を試しましたが、実際の効果は大きくなかったので、テストではこれらの方法は使用しませんでした。 [_webContentloadHTMLString:nilbaseURL:nil];

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。