1
Я использую объект NSData для хранения данных памяти. Но когда я использую NSData.bytes для доступа к данным памяти. Это приведет к утечке памяти. Пример кода выглядит следующим образом:Байт доступа NSData вызывает утечку памяти
char buf[12];
@interface ViewController()
@property (nonatomic, copy) NSData *tempData;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.tempData = [[NSData alloc] initWithBytes:buf length:12];
[self loopReadData];
}
- (void)loopReadData {
while(true) {
[self calcData:self.tempData];
}
}
- (void)calcData:(NSData *) data {
const void *dataPtr = data.bytes; ///< memory leak
sleep(0.1);
}
@end
Пример кода очень simple.But вызовет утечку памяти и сбой мое приложение, когда не выходит из памяти.