Я написал тестовый код, чтобы проверить, как использовать прибор (утечки). Я создал одно приложение просмотра и на кнопку мыши я загрузил новый вид, как это ...Обнаружение утечки C с помощью приборов (утечек)
- (IBAction)btn_clkd:(id)sender {
new_file *new = [[new_file alloc] init];
if (new) {
[self.navigationController pushViewController:new animated:YES];
new = nil;
}
}
В new_file методе ViewDidLoad, я создать утечку, как показано ниже ...
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
char *c_mem = (char*) malloc(10000000);
strcpy(c_mem, "TESTING");
// free(c_mem);
}
Даже я использую ARC, выделенная память - это простой C malloc, и я не освобождал память после использования, хотя я снова и снова загружался и загружался, новый вид, инструмент (утечки) не обнаруживал утечки в этот код ... В чем причина, правильно ли я проверяю?
Thanx
Но утечка здесь является способом C, использующим malloc ... будет ARC обрабатывать это также. – Newbee
Область вашей переменной - это метод класса. Вот почему я думаю, что эти переменные уничтожаются после завершения метода. – wzbozon
Вы правы, переменная будет уничтожена, однако я думаю, что это не динамически выделенная память. – Newbee