1

私のアプリでは、ユーザーは 700*700MB の画像をアップロードおよびダウンロードできます。これらの画像はダウンロードされ、いくつかの UIImageView に表示されます。私のアプリ自体は非常に小さいですが、Documents & Data フォルダは 17GB など巨大で、指数関数的に増加し続けています。私のアプリは iPad と iPhone の両方で動作します。iPad の docs & data フォルダは 6 MB で、iPod では 17 GB です。アプリ パッケージをダウンロードしたところ、tmp フォルダーが巨大であることがわかりました。1GBのスタックログファイルがいくつかあります。問題が NSTemporarydirectory に関連していることがわかりました。

この方法で画像を保存します:

NSString *title = [[NSUserDefaults standardUserDefaults]objectForKey:@"Folder3"];
PhotoiPhoneViewController* sharedSingleton = [PhotoiPhoneViewController sharedManager];

NSString *destDir = [[NSUserDefaults standardUserDefaults]objectForKey:@"Folder2"];
NSString *filename3 = [NSString stringWithFormat:@"%@%@sizefile.pages.%@", destDir, title, sharedSingleton.tagString];

NSString *SizePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@sizefile.pages.%@", title, sharedSingleton.tagString]];

[self.restClient loadFile:filename3 intoPath:SizePath];

これは正しい方法ですか、それとも使用する必要がありますか:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 NSString *documentsDirectory = [paths objectAtIndex:0];
 NSString *CommentPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@commentfile.txt.%ld", title, (long)sharedSingleton.tagNumber]]

使用後はファイルを削除してほしいので、NStemporaryDirectoryは使用後すぐに削除されると思っていました。私は何をすべきか??

4

1 に答える 1

0

これらはパージを管理するため、NSURLCacheの使用を検討できます。NSHipster/NSURLCacheも参照してください

または、キャッシュサイズも処理するSDWebImageのようなライブラリを使用できます

編集:あなたの質問への回答では、
オペレーティングシステムは一時ディレクトリにファイルを残すために使用されていましたが、iOS 5.0以降、必要に応じてこのディレクトリからファイルを削除します。詳細については、このリンクを参照してください

于 2013-02-24T11:57:56.923 に答える