NSAttributedStringのパフォーマンスはiOS8では悪化します

ベン

iOS 8(および8.1ベータ)では、NSAttributedStringを作成するパフォーマンスは7(2〜3倍)よりもはるかに劣ります。これは、同じビューで複数のインスタンスを使用している場合に特に顕著です。4つの異なるラベルを読み込むと、ユーザーがタップして新しいビューが表示されてから1秒以上の遅延が発生します。

残念ながら、これは舞台裏でWebKitを使用しているため、別のスレッドにスローすることさえできません。Appleにバグを提出しましたが、回避策またはより良い実装アプローチに関するアイデアが必要です。

viewDidLoadの場合:

self.labelOne.attributedText = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }
                                                     documentAttributes:nil
                                                                  error:&error];

クイックサンプルプロジェクト:https//github.com/BenSS/AttributedStringTest

更新:
iOS9は物事を再び改善するので、速度がUIの相互作用を完全に損なうわけではありません。残念ながら、iOS7の場合ほど高速ではありません。(デモで自分でテストしてください!)

ダニエル・ガラスコ

今年(2014年)のWWDCで、私はこの振る舞いをTextKitチームに持ち込みました。具体的には、非同期HTML解析のサポートが必要な人がいることを詳しく説明していました。彼らは、属性付き文字列を非同期的に作成するためのパブリックAPIがないことに驚いていました。

一部のアプリのコアが大量のHTMLテキストのレンダリングを処理することを考えると、システムが提供するレンダリングはiOS 7でも理想的とは言えません。そのため、バグを報告するように言われました。この問題に関して提出されるバグが多いほど、Appleがこの問題に対処する可能性が高くなります。

私の提案はDTCoreTextを使用することです、それらはこの問題に関して私たち全員が必要とするものを正確に提供します。他の唯一の解決策は待つことです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このシェーダーは条件付きでパフォーマンスに悪影響を及ぼしますか?最適化できますか?

分類Dev

Javaでは、匿名の内部型はパフォーマンスに悪影響を及ぼしますか?

分類Dev

なぜインスタンス化/破棄はパフォーマンスの点で悪いのですか?

分類Dev

Reactのフォームのパフォーマンスは悪いですか?

分類Dev

「表示:なし」を実行します。パフォーマンスを改善または悪化させますか?

分類Dev

古いゲームはWindows8でうまく機能しない/ Windows8で古いゲームのパフォーマンスが悪い

分類Dev

!importantはパフォーマンスに悪いですか?

分類Dev

「Runtime.getRuntime()。exec()」のパフォーマンスは悪いですか?

分類Dev

Core i7のパフォーマンスは非常に悪いですか?

分類Dev

末尾呼び出しの最適化はパフォーマンスをわずかに悪化させるようです

分類Dev

iOS8 Webviewのパフォーマンスは、モバイルSafariよりも大幅に遅い

分類Dev

BernoulliNBCがアイリスデータセットのGaussianNBCまたはMultinomialNBCと比較してパフォーマンスが悪いのはなぜですか?

分類Dev

拡張機能はSwiftのパフォーマンスに悪影響を及ぼしますか?

分類Dev

追加のSQLフィルタリングはパフォーマンスを向上または悪化させますか

分類Dev

IE8は人口パフォーマンスの問題を選択します-解決策が必要です

分類Dev

BufferedReaderのパフォーマンスがBufferedInputStreamよりもはるかに悪いのはなぜですか?

分類Dev

パフォーマンスが悪いのはなぜですか?(Noobスケジューリング)

分類Dev

大きなNでHashSetのパフォーマンスが悪いのはなぜですか?

分類Dev

デュアルブートはパフォーマンスに悪影響を及ぼしますか?

分類Dev

デュアルブートはパフォーマンスに悪影響を及ぼしますか?

分類Dev

「混合モード」ではbtrfsのパフォーマンスが低下します

分類Dev

ネストされた重みがパフォーマンスに悪いのはなぜですか?代替案?

分類Dev

Goでは、非キャプチャークロージャーはパフォーマンスに悪影響を及ぼしますか?

分類Dev

私はCythonをひどく壊しました、それは純粋なPythonよりもパフォーマンスが悪いです。どうして?

分類Dev

再帰的なsetTimeoutsはパフォーマンスに悪影響を及ぼしますか?

分類Dev

.NET Core2.0のパフォーマンスが.NETFramework4.6.1よりも悪いのはなぜですか

分類Dev

Intel 520 180GB SSDのパフォーマンスが極端に悪いのはなぜですか?

分類Dev

Unityはプレハブを1つずつまたはチャンクでインスタンス化しますか?(パフォーマンスの質問)

分類Dev

array.includesは、複数のifステートメントと比較してパフォーマンスに悪影響を及ぼしますか?

Related 関連記事

  1. 1

    このシェーダーは条件付きでパフォーマンスに悪影響を及ぼしますか?最適化できますか?

  2. 2

    Javaでは、匿名の内部型はパフォーマンスに悪影響を及ぼしますか?

  3. 3

    なぜインスタンス化/破棄はパフォーマンスの点で悪いのですか?

  4. 4

    Reactのフォームのパフォーマンスは悪いですか?

  5. 5

    「表示:なし」を実行します。パフォーマンスを改善または悪化させますか?

  6. 6

    古いゲームはWindows8でうまく機能しない/ Windows8で古いゲームのパフォーマンスが悪い

  7. 7

    !importantはパフォーマンスに悪いですか?

  8. 8

    「Runtime.getRuntime()。exec()」のパフォーマンスは悪いですか?

  9. 9

    Core i7のパフォーマンスは非常に悪いですか?

  10. 10

    末尾呼び出しの最適化はパフォーマンスをわずかに悪化させるようです

  11. 11

    iOS8 Webviewのパフォーマンスは、モバイルSafariよりも大幅に遅い

  12. 12

    BernoulliNBCがアイリスデータセットのGaussianNBCまたはMultinomialNBCと比較してパフォーマンスが悪いのはなぜですか?

  13. 13

    拡張機能はSwiftのパフォーマンスに悪影響を及ぼしますか?

  14. 14

    追加のSQLフィルタリングはパフォーマンスを向上または悪化させますか

  15. 15

    IE8は人口パフォーマンスの問題を選択します-解決策が必要です

  16. 16

    BufferedReaderのパフォーマンスがBufferedInputStreamよりもはるかに悪いのはなぜですか?

  17. 17

    パフォーマンスが悪いのはなぜですか?(Noobスケジューリング)

  18. 18

    大きなNでHashSetのパフォーマンスが悪いのはなぜですか?

  19. 19

    デュアルブートはパフォーマンスに悪影響を及ぼしますか?

  20. 20

    デュアルブートはパフォーマンスに悪影響を及ぼしますか?

  21. 21

    「混合モード」ではbtrfsのパフォーマンスが低下します

  22. 22

    ネストされた重みがパフォーマンスに悪いのはなぜですか?代替案?

  23. 23

    Goでは、非キャプチャークロージャーはパフォーマンスに悪影響を及ぼしますか?

  24. 24

    私はCythonをひどく壊しました、それは純粋なPythonよりもパフォーマンスが悪いです。どうして?

  25. 25

    再帰的なsetTimeoutsはパフォーマンスに悪影響を及ぼしますか?

  26. 26

    .NET Core2.0のパフォーマンスが.NETFramework4.6.1よりも悪いのはなぜですか

  27. 27

    Intel 520 180GB SSDのパフォーマンスが極端に悪いのはなぜですか?

  28. 28

    Unityはプレハブを1つずつまたはチャンクでインスタンス化しますか?(パフォーマンスの質問)

  29. 29

    array.includesは、複数のifステートメントと比較してパフォーマンスに悪影響を及ぼしますか?

ホットタグ

アーカイブ