iPad用PDFリーダーの開発では、レンダリングが集中するページ(多くのパスが含まれています)の高解像度画像を用意し、pdfページの代わりにそれらを使用して、 3*768 by 3*1024
は、可読性とレンダリングパフォーマンスの間に良い妥協点があると判断し、〜1.5 MB jpegsという結果になりました。なぜUIImageViewはCGContextDrawImageに比べてメモリが大量になっているのですか
ただし、画像ページを表示するための2つの実装をテストしました。サブクラス「」を使用するサブクラスで、「通常の」PDFページ(図面はCGContextDrawImage
)を扱います。もう1つはUIImageView
を使用します。後者は、表示とズームが非常に速いという利点がありますが、メモリ使用量は実際には悪いです。メモリには 30 MB(画像のビットマップサイズと一致します)が必要です。もう1つのアプローチ(CATiledLayer
)は、最初にページを表示するにはもっと時間が必要で、ズーム後に再レンダリングするにはもう2秒必要です(pdfページに似ていますが、はるかに高速です)。しかし、画像またはPDFページ。
バックグラウンドで何が起こっているのか誰でも知っていますか?CGContextDrawImage
のメモリ使用量が低い場合は、Quartz Frameworkを使用してUIImageView
の高性能を組み合わせることは可能でしょうか。
この詳細で啓発的な回答をいただきありがとうございます。私が実際にこれを求めているプロジェクトは完了していますが、あなたの説明が今後の課題に役立つと確信しています。 –