2014-09-19 2 views
0

В моем приложении iOS реализовано сохранение видео в Интернете. Он продолжает увеличивать использование памяти при загрузке видео. Я проверяю использование профиля в xcode и вижу, что некоторые malloc получают увеличение на видео. enter image description hereПродолжайте использовать выделение памяти

enter image description here Я не знаком с материалом профиля. Я выпустил переменную receivedData NSMUtableData.

- (void) connectionDidFinishLoading:(NSURLConnection *)connection { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectry = [paths objectAtIndex:0]; 
    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]); 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
    NSString *filename = [NSString stringWithFormat:(@"video_%@.mp4"),videoURL]; 
    [receivedData writeToFile:[documentsDirectry stringByAppendingPathComponent:filename ] atomically:YES]; 
    receivedData = nil; 
    [receivedData release]; 
    progress.hidden = YES; 

}

App слезая его производительность. Как я могу исправить эту проблему.

ответ

0

У вас есть не освобожденный получилData. Вы уже установили переменную в nil, поэтому любое сообщение, отправленное в receivedData, отправляется в нирвану.

Также не забывайте обрабатывать случаи, когда connectionDidFinishLoading никогда не вызывается, вы должны выпустить его в другом месте тоже из-за этого.

Смежные вопросы