私のアプリはスクリーンショットを取ります。私はあなたがそれらのスナップショットを巡回することを可能にするスクロールビューを持つメイン画面を持っています。問題は、スナップショットが多いほどビューが遅くなることです。スクロールビューで約15枚のスナップショットを取得することができます。私が表示している画像は実際のスクリーンショットのサイズのわずか1/3です。各スクリーンショットは、スクロールビュー上のUIImageViewです。ここでパフォーマンスを向上させると思っていますか?iOS画像パフォーマンス向上の提案を表示
1
A
答えて
5
あなたができることは、遅延ロードを行うことです。 その時点で表示されている画像のみをそのビューにロードします。 一度スクロールすると古いイメージが解放され、新しいイメージがロードされます。画像をロードする
二つの方法:
[UIImage imageNamed:fullFileName] // caches the image
か:
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];
[UIImage imageWithData:imageData];
か、最終的には:あなたがやっていることに最善依存しているソリューション
[UIImage imageWithContentsOfFile:path] // does not cache the image
画像。 imageNamed:
メソッドはイメージをキャッシュしますが、多くの場合、メモリ使用に役立ちます。たとえば、画像を10回ロードしてテーブルビューにテキストを表示すると、UIImage
は10個の個別のオブジェクトを割り当てるのではなく、その画像の単一の表現をメモリに保持します。一方、非常に大きなイメージがあり、それを再使用していない場合は、データオブジェクトからイメージをロードして、完了後にイメージがメモリから削除されていることを確認してください。
巨大な画像がない場合は、遅延読み込みを使用している限り、キャッシュについては心配しません。問題が見つからない限り、メモリの改善は無視できるほど少ないコード行を選択します。
関連する問題
- 1. 背景画像のパフォーマンスが向上
- 2. AutoCompleteTextViewの提案を表示
- 3. 画像上にツールチップを作成するための提案
- 4. iOSでの画像表示
- 5. MigraDoc画像を画像上に表示
- 6. iOSは画像の上に画像を上にスライドさせ、下の画像を表示します。 (ラjQuery.slide())
- 7. iOSネットワーキングライブラリの提案
- 8. 画像表示をアニメーション化する上向き
- 9. サービス指向アーキテクチャの提案
- 10. TCPDFの画像解像度を向上
- 11. IOS:変更ビューの提案
- 12. マウスの上に画像を表示
- 13. 画像上の点を表示する
- 14. Jquery:画像スライダーの最上部の画像のみを表示
- 15. iosの画像表示にピンを表示
- 16. ウェブサービスのパフォーマンス向上
- 17. ISNULL:パフォーマンスの向上?
- 18. パフォーマンスの向上は
- 19. iPad上でのdicom画像の表示
- 20. 多くの画像でテーブルビューのパフォーマンスを向上させるには?
- 21. UniToolbox2.UniTreeViewは画像を表示しません - 代替案?
- 22. 良い画像のアップロードとトリミングのツールを提案
- 23. WPF DataGridのパフォーマンスを向上
- 24. asp.netページのパフォーマンスを向上
- 25. Windowsアプリケーションのパフォーマンスを向上
- 26. MATLABでの画像コントラストの向上
- 27. 私のjqueryの画像カルーセル向上
- 28. Androidタブエミュレータが画像をぼかす、plsを提案する
- 29. ios dropbox、画像のサムネイルを表形式で表示する
- 30. Symfony2のAppCacheのパフォーマンス向上
一度に表示する必要がある画像の数はいくつですか? また、「各スクリーンショットはスクロールビュー上の 'UIImageView'です」ということは、各UIImageViewが単一のスクロールビューの内側に置かれていることを意味しますか、それとも独自のスクロールビュー単一の外側スクロールビューに配置されますか? –