내 iPhone 응용 프로그램은 장치에 배포 할 때 문제가 발생합니다. 주로 메모리 경고를 처리하지 않았기 때문입니다 (시뮬레이터에서는 문제가 없으며 4GB의 RAM이 내 컴퓨터에!). 문제는 없지만, 나는이 경고를보다 능숙하게 처리해야합니다 (덜 유감스럽게도 ...).didReceiveMemoryWarning/viewDidUnload가 출시 한 메모리는 어느 것입니까?
질문 : 런타임 릴리스는 어떤 메모리입니까? 단지보기 및 하위보기입니까? 나는 그것이 단지 이것들이라고 생각하지만 런타임이 내 컨트롤러의 객체 나 메모리를 역 참조하지 않도록하고 싶다. (보기에 없다.)
Subquestion : 뷰와 하위 뷰인 경우 뷰를 메모리로 다시 가져 오면 뷰가 올바른 데이터를 표시하는지 또는 내 뷰를 통해 자동으로 처리되는지 확인하기 위해 viewDidLoad에서 특별한 작업을 수행해야합니까? IBOutlet-s?
기억해야 할 핵심 사항은 런타임에서 아무 것도 공개하지 않는다는 것입니다. 삭제할 수있는 항목은 다시로드 할 수있는 데이터 (엄청난 히트없이), 이미지 등은 현재 표시되지 않지만 앱의 컨텍스트에서 결정하는 것은 사용자의 몫입니다. 또한 알림은 다음과 같습니다. 귀하의 애플 리케이션에 청소를 경고하고, 당신은 현재 필요하지 않은 메모리를 제거하는 책임이 있습니다. 무시되는 경우 '경고'로 인해 OS가 앱을 종료하게됩니다. – Kevin
128MB와 25-30MB를 의미하지 않습니까? – mahboudz
런타임이 장면 뒤에서 어떤 것도 내 보내지 않는다는 것을 알기 때문에 내 앱에 경고가 표시되지만 런타임/메모리 관리자가보기를 언로드합니다. 이것은 약간의 기억을 저장하지 않습니까? 또한 내 응용 프로그램은 7-8MB의 메모리를 소비 한 후에 이러한 경고를 켜고 끕니다. 누수 도구가 하나의 누수를 표시하지만 32 바이트만으로 심각한 문제는 아닌 것으로 추정됩니다. – mblackwell8