2010-05-20 6 views
1

iphone에 기본 사진 브라우저와 같은 기능이 포함 된 앱을 개발 중입니다. 나는 비슷한 것을했다. 하지만 원격 서버에서 일부 이미지 (약 10-15 근처)를로드 한 후 메모리 경고가 수신됩니다. 내 요구 사항은 이미지를 하나씩로드하고 있습니다. 이를 위해 스크롤보기에서 나는 이미지를 넣고 스크롤보기의 contentSize를 늘리고있다. 그것은 잘 작동합니다. 하지만 메모리 경고 응용 프로그램으로 인해 꽤.아이폰의 기본 사진 브라우저와 같은 앱?

누구나 사진 앱과 비슷한 기능을하는이 기능에 어떤 방식 으로든 접근 할 수 있습니까?

미리 감사드립니다.

답변

0

메모리에 10 개 이상의 이미지에 대한 데이터를 한 번에 저장하기 때문에 메모리가 부족합니다. 스크롤 뷰의 내용 크기를 미리로드하고 증가시킬뿐만 아니라 사용자가 새로운 내용으로 스크롤 할 때 스크롤 뷰 (따라서 메모리에서)에서 UIImageViews를 제거하는 더 많은 로직을 코드에 필요로합니다. (디스크에있는 캐시 영역에 "제거 된"이미지를 저장할 수도 있습니다. 따라서 사용자가 다시 스크롤하면 다시 서버로 이동할 필요가 없습니다.)

+0

좋은 아이디어에 감사하는 quixoto. 이 접근법에 대한 샘플 코드는 나에게 훨씬 좋다 PLZZZZZZZZ –

+0

나 자신에게 도움이되지 마십시오. 이것은 응용 프로그램에 따라 매우 다양합니다. 스크롤 뷰에서 "페이지"배열을 유지하고 큐로 사용하고 앞으로 갈 때마다 가장 최근의 것을 제거하십시오. –

+0

나는 이와 비슷한 것을 구현했다. 그러나 그것을 잘하는 것은 쉽지 않습니다. 사용자가 슬라이드 이동 도중에 물건을로드하기 시작하면 슬라이드가 더듬 거리기 때문에 나빠질 것입니다. 백그라운드 스레드에 로딩 중 일부를 수행하고 있지만 이전 및 새로운 모든 장치에서 좋은 결과를 얻으려면 여전히 많은 조정이 필요합니다. 당신이 쉽게 사용할 수 있도록 오래되고 느린 장치에 대한 지원을 중단하고, 더 많은 "페이지"를 한 번에 메모리에 보관하여 로딩 상황을 최소화 할 수 있습니다. 그럼 다시 누군가가 더 나은 해결책을 가지고 있을지도 모른다. 애플의 앨범 응용 프로그램은 이미지의 "미리보기"저해상도 버전 등을 보여준다. – Jonny

0

UITableView를 사용하면 이미지 만 요청합니다 필요할 때 자동으로 메모리를 절약하기 위해 오프 스크린 셀을 제거합니다. 그래도 응용 프로그램의 미학에 적합하지 않을 수 있습니다.

관련 문제