내 응용 프로그램을 디버깅하려하지만 메모리가 계속 증가합니다.UIImageView UIKit setImageWithURL 메모리 사용량
AFNetworking이 포함 된 웹 서비스에서 JSON을 가져 오는 앱이 있습니다. UIKit + AFNetworking을 사용하여 사용자 정의 XIB 표 셀에있는 UIImageView의 JSON에서 가져온 URL 문자열을로드합니다. 나는 setImageForURL
을 사용합니다.
새로운 JSON을로드하고 새로운 이미지 URL을로드하면 매번 메모리 사용량이 2 ~ 7MB 씩 증가합니다. 이전 이미지는 UI에서 새로운 이미지로 바뀝니다. 라이브 메모리 사용량이 올라갑니다. JSON 등을 보유하고있는 배열을 살펴 보았습니다. 누수가 없습니다.
어떤 이미지 캐싱이 진행되는 것으로 의심되지만 setImageWithURL
과 함께 UIImageView를 사용할 때 이미지 캐싱과 관련된 정보를 본 적이 없습니다. 그래도 imageNamed
을 사용하여 메모리 문제를 봤습니다.
setImageWithURL
의 메모리 문제는 imageNamed
입니까?
그래서 내 응용 프로그램을 메모리 돼지로 만들 수 있습니까? 귀하의 경험에서 애플은 이러한 종류의 애플 리케이션을 거부합니까? – noobsmcgoobs
@noobsmcgoobs 여기에있는 문제는 애플이 무엇을 할 것인가에 관한 것이 아닙니다. AFNetworking을 사용하여 이미지를 다운로드하는 이유는 무엇입니까? 캐시해야합니까? 앱이 너무 많은 메모리를 사용하므로 이미지가 커야하므로 테이블 뷰에없는 것 같습니다. 우리에게 상황을 말해 주면 우리는 해결책이 될지도 모릅니다. –
사용자는 위치 기반 이미지를 가져오고 새로운 위치로 이동할 경우 새 이미지로 테이블보기를 새로 고칠 수 있습니다. 오래된 미디어는 어떤 식 으로든 유지되지 않습니다. EG - SF에서 위치 미디어를로드 한 다음 NYC로 이동하여 새로 고침합니다. SF 미디어는 tableView에서 NYC 미디어로 대체됩니다. SF 미디어는 어떤 식 으로든 유지되지 않습니다. AFNetworking은 JSON을 반환하는 API 호출을 만드는 방법입니다. AF의 UIImageView 메서드 setImageWithURL을 사용하여 미디어 URL을 UIImageView에로드합니다. – noobsmcgoobs