1

私がアプリで行っているのは、ユーザーがプロフィール写真をアップロードしたときに、画像データをドキュメント フォルダーに書き込む、つまり画像を保存することです。ユーザーがプロフィール写真を削除すると、そのファイルは削除されます。それが基本です。

ただし、ユーザーがログアウトするときにもこのファイルを削除します。そうしないと、ログアウトして別のユーザー名でログインすると、同じプロフィール写真が表示されるためです。だから私は、ログイン時に、グローバルスレッドでユーザーのプロフィール写真をダウンロードします(アップロード中にこの写真を送信すると、ログインAPIで写真のURLが指定されます)。ただし、ユーザーがログインするたびにイメージのダウンロードに時間がかかるため、これは最適なソリューションではありません。

これに対する最善の解決策は何ですか?

4

2 に答える 2

1

ドキュメントディレクトリに画像を保存するという特定の要件がない場合は、画像キャッシュを提供するライブラリSDWebImageまたはAFNetworking UIImageライブラリを試すことができます。そのため、画像が一度ダウンロードされると、毎回同じ画像がダウンロードされるわけではありません。それ以外の場合は、NSCache直接使用できますそれに快適

別の解決策として、ユーザー プロファイル画像を保存する必要がある場合は、それらを個々のフォルダーに保存できます/URL は userId またはいくつかの固有の詳細に基づいている可能性があるため、最初に特定の画像が存在するかどうかを確認し、それ以外の場合は例の画像をダウンロードします。 123 次に、画像を「imagename-123」として保存するか、フォルダー名 123 を作成してその中に画像を保存します
注:画像が大きすぎる場合、またはログインしているユーザーが多すぎる場合は、ドキュメント ディレクトリが多くのスペースを消費する可能性がありますそのため、同じプロファイルの古いプロファイルを削除するメカニズムを配置することができます

于 2016-04-10T09:12:15.533 に答える