Обнаружены утечки путем добавления просмотров в конструкторе интерфейсов - PullRequest
0 голосов
/ 25 мая 2011

Я добавляю виды в конструктор интерфейсов. Когда я выскакиваю свой вид, обнаруживается огромная утечка. Когда я удаляю все виды, кроме основного, то никаких утечек я не обнаружил.Я использую навигационное базовое приложение и нажимаю кнопку, я применяю анимацию, как слайд вверх, но когда я открываю основной вид, я обнаруживаю утечки ..... в viewdidload:

myControlView.hidden    =   YES;//view1
alertView.hidden        =   YES;//view 2/

/

При нажатии кнопки эта анимация вызывается не каждый раз ...

myControlView.frame   = CGRectMake(0, 480, 320, 480); // use real numbers
        [myMainView addSubview:myControlView];
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
        [UIView setAnimationDuration:0.4];
        myControlView.frame   = CGRectMake(0, 0, 320, 480);
        [UIView commitAnimations];

еще два вида: я добавляю и применяю одну и ту же вещь, и я удаляю вид 1 на 1, но утечки все еще есть. Как я могу устранить эти утечки?

Примечание: не каждый раз, когда эти функции вызывают нормально.

Ответы [ 4 ]

0 голосов
/ 25 мая 2011
myControlView.frame   = CGRectMake(0, 480, 320, 480); // use real numbers
       ** [myMainView addSubview:myControlView];**
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
        [UIView setAnimationDuration:0.4];
        myControlView.frame   = CGRectMake(0, 0, 320, 480);
        [UIView commitAnimations];

удалить эту строку: [myMainView addSubview: myControlView];

0 голосов
/ 25 мая 2011

Постройте и проанализируйте, чтобы проверить и опубликовать точную строку в вашем коде

0 голосов
/ 25 мая 2011

фисташек это правильно ... И вы не должны использовать addSubview, потому что вы уже добавили их в конструктор интерфейса

0 голосов
/ 25 мая 2011

UIView addSubview: метод сохраняет подпредставление.если в какой-то момент это не будет сбалансировано путем вызова метода removeFromSuperview:, который освобождает подпредставление, то произойдет утечка памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...