천천히 Obj-C를 배우고있어 이것이 멍청한 질문이라면 유감입니다.개체를 다시 할당하면 메모리 누수가 발생합니까?
내 앱에는 단순히 변수 묶음이 들어있는 Object
클래스가 있습니다.
Object *object = [[Object alloc] init];
내 프로그램의 정적 싱글 톤 개체에이 클래스의 인스턴스를 만듭니다. 그러나 나는 새로운 인스턴스를 만들 때마다 (즉, resetObject
메서드를 호출하는 버튼이 있습니다) 메모리 사용이 증가한다는 것을 알았습니다.
// DataBank.h
Object *object;
// DataBank.m
- (void)resetObject {
object = [[Object alloc] init];
}
아마도 이전에 Object가 할당 해제되지 않았기 때문일 것으로 생각됩니다. 할당 취소를 시도했지만 ARC에서 허용되지 않는다는 오류가 발생했습니다. 이 주위에 어떤 방법이 있습니까?
위의 코드에는 누출이 없습니다. (우리가보아야 할 객체는 괜찮습니다) –
무엇이 새어 나오고 언제입니까? –
문제는 [DataBank resetObject]를 호출 할 때마다 메모리 사용이 1.5MB 증가합니다. – Dilisqq