2017-03-23 1 views
0

필자는 계측기를 사용하여 내 app을 측정했습니다. 메모리 누수가 있었고 내 응용 프로그램은 ARC를 사용하고 있습니다.ARC에서 여전히 메모리 누수가 발생하는 이유는 무엇입니까?

다음은 누설 사진입니다.

enter image description here

질문은 다음과 같습니다

1. 우리는 메모리 누수의 크기 1KiB에 관한 장을 살펴볼 수 있으며, 그것의 대부분은 그것에 대해 걱정하지 않는 경우 smaller.Does 그것이 문제입니까?

2. 메모리 누수가 발생한 인스턴스의 주소를 볼 수 있습니다. 코드에서 찾을 수 있습니까? (예 : 코드에서)이를 해결할 수 있습니까?

답변

0

릴리스되지 않는 개체의 강력한 인스턴스가있을 수 있으므로 사용하십시오. 그리고 항상 블록 아래에 약한 참조를 사용하십시오.

__weak typeof(self) weakSelf = self; 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     weakSelf.drawingView.center = weakSelf.center; 
    }); 

에도 사이클 유지 될 수있다. 해결 방법은 콜 트리를 사용하십시오. 그런 다음 코드도 분석하십시오.

관련 문제