我试过1、序列化(反序列化)的方式;2、write的方法,3、持久化保存的方法 都会有内存泄露,并且通过leak工具也查出来有内存泄露指向就是序列化和反序列化的函数。 因为涉及到频繁读写,所以不能让内存泄露太厉害。
有什么好的方法避免内存泄露么?
读
-(NSMutableArray*)searchPointFromFile:(NSString*)_name{
NSMutableArray* point_array = [NSKeyedUnarchiver unarchiveObjectWithFile:[self fileName:_name]];
return point_array;}
写
NSMutableArray *_tempArray ; //全局的
if (_tempArray == nil)
_tempArray = [_file_manager searchPointFromFile:@"point.rtf"];
if (_tempArray.count == 0)
{
_tempArray = [NSMutableArray arrayWithArray:_points];
}
else
[_tempArray addObjectsFromArray:_points];
[NSKeyedArchiver archiveRootObject:_tempArray toFile:[_file_manager fileName:@"point.rtf"]];
[_tempArray removeAllObjects];
_tempArray = nil;