1

UITableView にスキーの目的地がリストされている iPhone アプリを開発しています。テーブル ビューには、最大 2000 個のセルを含めることができます。各セルには、25x25px (Retina 50x50) の小さな天気アイコンがあります。私はすでに、すべての目的地の詳細ビューで天気アイコンを使用しています。これらのアイコンは 2 倍のサイズです: 3GS では 50x50px、Retina ディスプレイでは 100x100px です。

UITableView での png のレンダリングはかなりメモリを消費するため、テーブル ビューにも大きな画像を使用する必要があるのか​​、テーブル ビューのみの半分のサイズの画像を設計する必要があるのか​​ わかりません。もちろん、これによりアプリのダウンロード サイズが約 300 KB 増加します。

アプリで大きな画像をリサイクルするのが最善なのか、必要な解像度ごとに画像をデザインするのが最善なのか、アドバイスをいただければ幸いです。

前もって感謝します マーティン

4

2 に答える 2

0

あなたは間違いなく2つの画像を使いたいです。1 つの画像を使用する場合、非 Retina スクリーンではより多くのメモリを使用していますが、Retina スクリーンでも同じです。2 つのイメージを使用すると、メモリの使用量が最も少なくなります。何をしていてもメモリに問題はないはずなので、必要になった後も画像をメモリに保持していると思いますが、これはテーブルビューコードとは関係ありません。

于 2012-06-07T14:42:02.347 に答える
0

UITableView の良い点は、メモリ使用量がセルのサイズと特に関係がないことです。テーブルがセルをリサイクルできるように、データソースとしてジャンプする必要がある小さなフープがあり、特定のセルのメモリ使用量に関してメモリを比較的固定したままにします。

セルのリサイクルはスペースと速度を交換するため、スクロールのパフォーマンスについてはより正当な懸念があります。これは、セルごとのセットアップ作業に関連しています (セルは常にリサイクルおよび再セットアップされているため)。ここでは画像サイズが要因になる可能性がありますが、検討している縮尺(50 ^ 2または100 ^ 2)ではそうではないと思います。これは、実際のハードウェアで実行することによって最もよく調査される種類のものです。

バイナリ サイズについては、単一バージョンの画像がアプリのダウンロードを減らすという点で正しいと思います。これはおそらく 300k で成功または失敗する要因ではありませんが、それを考慮したことを称賛します。

于 2012-06-07T15:00:42.190 に答える