Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
#1

Memory leak - Программирование iOS

06.04.2013, 18:40. Просмотров 729. Ответов 5
Метки нет (Все метки)

Всем добрый день.
Помогите пожалуйста разобраться, проверяю приложение в instruments в leaks и он показывает утечку, но я не пойму где именно и что течет.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSInteger row=[indexPath row];
    isSave=YES;
    if(row==3){
        ChooseCategoryView *chooseCategoryView=[[[ChooseCategoryView alloc]init]autorelease];
        chooseCategoryView.numOfCategory=savedNumberOfCategory;
        [self.navigationController pushViewController:chooseCategoryView animated:YES];
        return indexPath;
    }else if(row==2){
        TimePicker *timePicker=[[[TimePicker alloc]initWithNibName:@"TimePicker" bundle:nil]autorelease];
        timePicker.time=self.task.date;
        [self.navigationController pushViewController:timePicker animated:YES];  //<<<------вот тут все хорошо 
        return indexPath;
    } else if(row==1){
        DatePicker *datePicker=[[[DatePicker alloc]initWithNibName:@"DatePicker" bundle:nil] autorelease];
        datePicker.date=self.task.date;
        [self.navigationController pushViewController:datePicker animated:YES];//   <<<------ вот тут intruments показывает утечку
        return indexPath;
    } else if (row==0){
        return nil;
    } else {
        return nil;
    }
}
Хотя в этом же методе вот тут все нормально:
Objective-C
1
2
3
4
TimePicker *timePicker=[[[TimePicker alloc]initWithNibName:@"TimePicker" bundle:nil]autorelease];
        timePicker.time=self.task.date;
        [self.navigationController pushViewController:timePicker animated:YES];  //<<<------вот тут все хорошо instruments ничего не показывает
        return indexPath;
Time picker и date picker почти одинаковые в реализации классы
Date picker мой класс, вот его объявление:
Objective-C
1
2
3
4
5
6
7
8
9
10
@interface DatePicker : UIViewController
 
@property(nonatomic,retain)IBOutlet UIDatePicker *picker;
@property(nonatomic,retain)IBOutlet UILabel *label;
 
@property(nonatomic,retain)NSDate *date;
 
-(IBAction)changeDate;
 
@end
В реализации класса date picker в dealloc все освобождаю:
Objective-C
1
2
3
4
5
6
-(void)dealloc{
    [_date release];
    [_label release];
    [_picker release];
    [super dealloc];
}
Подскажите пожалуйста почему возникает утечка.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 18:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Memory leak (Программирование iOS):

Утечка памяти - Received memory warning? - Программирование iOS
Всем привет! Подскажите как можно решить проблему и где я делаю ошибки? Использую ScrollView, при начальной загрузке приложения в...

Memory management. Контейнеры STL - Objective-C
Здравствуйте. Подскажите пожалуйста кто работал с STL в Objective C. Следят ли STL контейнеры за своей памятью автоматически. И вообще не...

Memory leak - C++ WinAPI
Здравствуйте! Люди, очень интересная проблема возникла у моего друга. Программа считывает с файла данные точек и фэйсов и затем рисует...

Memory leak - C#
Здравствуйте, коллеги. В программе наблюдается утечка памяти. Наблюдается совершенно четко - пользовал CLR Profiler и PerfMon. Код не...

Memory Leak in IE 5.0 - Windows
Утечка памяти до беспамятства системы :) Замечали такое за ИЕ? Может знает кто в чем дело?

memory leak on WM_PAINT - Visual C++
сразу подробный упрощенный пример. на данной машине использую VC6++. Windows NT. но созданный exe на xp ведет себя аналогично. создаем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dollar8
13 / 13 / 3
Регистрация: 25.09.2011
Сообщений: 84
09.04.2013, 11:24 #2
может случайно написал
@syntesize date;
или
@syntesize label;
или
@syntesize picker;

хотя хКод написал бы ошибку в деалоке.

Да и странно, что личется во время пуша, а не попа (тогда вообще походу не там смотрим)
0
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
09.04.2013, 11:36  [ТС] #3
Не @synthesize я не писал. Вот в том то и дело, что не понятно: почему и где течет. На других форумах читал у людей утечки в том же месте только если нету release или autorelease, так нет же у меня все есть и все равно течет, значит утечка где то в другом месте ток я не пойму где. Instruments пишет что утечка в 96 байт, была б побольше я ее в allocation попытался бы отследить а так...
Оно конечно и с ней жить можно, но как то интересно в чем проблема.
0
dollar8
13 / 13 / 3
Регистрация: 25.09.2011
Сообщений: 84
16.04.2013, 00:48 #4
а может попробуйте закомментить
Objective-C
1
        //datePicker.date=self.task.date;
ну вдруг у вас сеттер не правильно переопределен.
Да и если после коммента все равно личется надо дальше смотреть жизненный цикл DatePicker
0
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
16.04.2013, 22:32  [ТС] #5
закомментировал все равно утечка есть(
0
dollar8
13 / 13 / 3
Регистрация: 25.09.2011
Сообщений: 84
28.04.2013, 23:58 #6
Цитата Сообщение от Xavier Посмотреть сообщение
закомментировал все равно утечка есть(
Извиняюсь, что отсутсвовал на форуме. мой ящик завален спамом )) поэтому так.

ну в данных ситуациях лучшим решением является комментить большой кусок кода, найти когда не личется, а потом по тихоньку раскомменчивать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 23:58
Привет! Вот еще темы с ответами:

Memory leak в Java приложении - Java SE
Подскажите пожалуйста, где может возникнуть утечка памяти в Java приложении? Подробнее. Программа - 3D бильярд. Отрисовка...

.NET 4.x Похоже Memory Leak как справится? - C#
Доброго времени суток! эксперементирую с самодельным почтовым клиентом. В сети нашёл библиотеку под это дело MailSystem.net-trunk Почту...

В моей программе на VB6 победить memory leak! - Visual Basic
Имею такой bas модуль : Attribute VB_Name = &quot;Proc&quot; Option Explicit Dim y As Byte Const TH32CS_SNAPHEAPLIST = &amp;H1 Const...

Таймер GUI. Memory leak, растет размер процесса - C++ Qt
Приветствую форумчан! В кьюте только начинаю разбираться. Написан простой ГУИ таймер. При закрытии окна (досрочно, если время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.04.2013, 23:58
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru