0

私はiPhoneアプリケーションを開発しています。そのアプリケーションには、カスタムテーブルセルで構成されたものがありますTableViewController。 それらのセルにURLから画像を読み込んでいますが、それほどスムーズではありません(各セルは、スクロールが発生するたびに画像を読み込むため)。TableViewController
scrolling

そこで、それらの画像をアプリケーションのドキュメントフォルダに保存することにしましたが、アプリケーションが実行状態のときにiPhoneでドキュメントフォルダを使用する方法がわかりません。

なにか提案を?

そして他のフォーラムで、SQLITEにはバイナリデータを格納するためのblobデータ型があることがわかりました。

画像を保存するには、ドキュメントフォルダとsqliteのどちらの方法が効率的ですか?

4

2 に答える 2

2

画像をデバイスに保存すると多少は改善されるかもしれませんが、スクロールが本当にスムーズになるわけではありません。スクロールが不安定になる傾向があるのは、セル コード内の同期関数が実行ループをブロックしていることを意味し、アニメーションが妨げられているためです。スクロールを高速化したい場合は、ブロッキング イベントを取り除く必要があります。非同期にするか (ただし、非同期コールバックが多くの CPU 時間を消費する場合は、スクロールが分厚くなる可能性があります)、またはブロッキング コードをオフにします。メインスレッド。

メイン スレッドから負荷を移動すると、個々のファイルまたは sqlite3 データベースのいずれかが正常に動作します。もう 1 つの大きな問題は、スクロール中にセルが更新されないことです。つまり、セルの読み込みに応答して非同期の画像読み込みを実行すると、ユーザーがスクロールを完了するまで画像がセルに表示されません。これは通常、望ましいエクスペリエンスではありません。これを回避するには、ユーザーが画像をスクロールする前に、画像を RAM に予測的にロードする必要があります。

于 2008-10-28T09:47:28.093 に答える
0

を使用してファイルに保存できNSFileManagerます。createFileAtPathNSData

Documents ディレクトリを取得するには、次を使用します。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
于 2008-10-28T08:14:00.047 に答える