我正在创建一个应用程序。我将文件存储在Document目录中。完成工作后,从文档目录中删除文件,如下所示:
NSMutableDictionary * Dictionary = [NSMutableDictionary alloc]init];
// Next every file storing into this dictionary like below
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *baseDir = [paths objectAtIndex:0];
NSString *pathComp = [baseDir stringByAppendingPathComponent:[NSString stringWithFormat:@"IMG%d.PNG",presentCount];
fileURL = [NSURL fileURLWithPath:pathComp];
[Dictionary setObject:fileURL forKey:fileURL];
while ([[Dictionary allKeys]count]!=0) {
NSURL *deleteFileURL = [[Dictionary allKeys] lastObject];
NSLog(@"Path %@",deleteFileURL.path);
[[NSFileManager defaultManager] removeItemAtPath:deleteFileURL.path error:nil];
[Dictionary removeObjectForKey:deleteFileURL];
}
这里我的问题是,在从文档目录中删除文件后,内存不会减少,但它仍然像文件一样占用。由于这个问题,我崩溃了。所以请帮助我如何清理记忆。
实际上我从服务器获取文件(照片)并首先放入文档目录,并尝试使用照片库保存。一旦我将字典输入到照片库,完成处理程序后,我试图删除file.Its已删除并保存照片,但内存未减少。
答案 0 :(得分:0)
1,检查路径上是否存在文件后删除文件,并检查removeItemAtPath:的返回值,以确定删除是否成功。
NSString *path = @"a/b";
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
BOOL success = [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
// Check the success's value
}