我有一个每秒触发一次的 NSTimer。
每一秒我都有一个需要更改的 NSString 。
我以前从未尝试过处理内存管理,所以我不确定我所做的是否正确,但仪器在“alloc”下说stringByReplacingOccurrencesOfString
大约一分钟后代码行有 45MB 的“Live Bytes” ...
(并且实时字节数每秒都在增加,最终导致应用程序崩溃)。
我认为我的问题在于MutableCopy
代码的某个地方?
这是我的代码:
-(void)myTimer {
if (testedit) {
[testedit release];
[withString1a release];
[forString1a release];
}
testedit = [[NSString alloc] init];
withString1a = [[NSString alloc] init];
forString1a = [[NSString alloc] init];
testedit = [[NSString alloc] initWithFormat:@"example"];
withString1a = [[NSString alloc] initWithFormat:@"e"];//this string gets its values randomly from an array in my real code
forString1a = [[NSString alloc] initWithFormat:@"flk34j"];//this string gets its values randomly from an array in my real code
testedit = [[testedit stringByReplacingOccurrencesOfString:withString1a withString:forString1a] mutableCopy];//memory leak /:
}