在我的应用中,用户可以上传和下载700 * 700mb图像。这些图像下载并显示在一些UIImageViews中。 我的应用程序本身很小,但文档&数据文件夹很大,例如17gb并且它呈指数增长。我的应用程序可在ipad和iPhone上运行。文件&我的ipad中的数据文件夹是6mb,在我的ipod上是17gb。我已经下载了应用程序包,发现tmp文件夹很大。有一些堆栈日志文件1gb大。我发现问题与NSTemporary目录有关。
我以这种方式保存图像:
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。我该怎么办?
答案 0 :(得分:0)
您可以考虑使用NSURLCache来管理清除工作。 另请参阅NSHipster/NSURLCache
或者您可以使用像SDWebImage这样的库来处理缓存大小
编辑:回答你的问题 然而,操作系统用于将文件保留在临时目录中,因为iOS 5.0如果看到需要,它将从该目录中清除文件。有关详细信息,请参阅this link