UIImages 배열을 사용하여 화면에 많은 수의 이미지를 표시하려고합니다. 현재 각 이미지를 NSMutableArray에 추가 한 다음 필요할 때 액세스합니다. 그러나 이미지 수가 증가하면 결국 앱이 다운됩니다.UIImage의 큰 NSArray를 사용할 때 메모리 문제가 발생했습니다.
메모리 할당을 알아 내기 위해 Instruments를 사용해 보았습니다. 메모리가 약 20MB에 도달하면 응용 프로그램이 충돌하는 것 같습니다. 이 문제를 해결할 방법이 있습니까? 아니면이 일을 할 때 최대한 메모리를 절약 할 수있는 방법이 있습니까? 당신이 이것에 대한 답을 갖고 있지 않더라도 비슷한 문제를 경험 한 사람이 있습니까? 그렇다면 어떻게 타협 했습니까/해결 했습니까?
그런데 앱에서 이미지를 빠르게 사용해야하기 때문에 파일 (또는 핵심 데이터)에 저장하고 가져 오는 것을 생각하지 않았으며 핵심 데이터 또는 iOS의 파일이 메모리를 사용할 때보 다 느리다. (내가 틀렸다면 정정 해주세요.)
는 보통 방법으로 프로그램이 주위에 메모리가 부족 얻을 것은 디스크에 페이지 그것입니다 (하지만이 저하 될 수 있습니다 아래로 프로그램). 그 외에 컴파일 설정이나 프로그램 설정을 변경해야합니다. – tay10r
지적 해 주셔서 고맙습니다. 이 응용 프로그램은 이미지에 대한 빠른 액세스가 필요하므로 옵션으로 파일/coredata에 저장하는 것을 생각하지 않았습니다.이 점을 반영하기 위해 질문을 업데이트했습니다. – Vlad
왜 그 이유는 무엇입니까? 코드) 나는 하나의 배열에 모든 이미지를 저장하는 디자인이 좋은 생각이 아니라고 생각한다. 각 이미지 공간을 항상 할당해야하는 이유는 무엇입니까? 이미지를 저장하고 가져 가면 이미지를 가져 와서 작업을 완료하면 다시 가져옵니다 (dealloc). 이미지를 읽는 액세스 시간은 앱 속도에 해를 끼치 지 않을 가능성이 큽니다. – Max