iOS에서 웹 서버의 데이터를로드하는 데는 NSURLConnection
이 필요합니다. 단지 PNG 파일입니다.iOS에서 NSURLConnection을 사용할 때 더 큰 파일 (1MB)을 캐시하는 방법은 무엇입니까?
크기가 1,173,084 바이트 인 하나의 파일 (약 1MB)을 제외하고 모든 파일은 캐시됩니다.
6 개의 파일을 반복합니다 : pic1.png, pic2.png, ... 3, 4, 5, 6, 1, 2, 3 등 ... 파일 크기는 1MB, 650kb입니다. , 450kb 및 몇몇 더 작은 파일.
iPad 시뮬레이터에서 테스트 중이므로 메모리는 문제가되지 않습니다. touchesBegan
에
[[NSURLCache sharedURLCache] setMemoryCapacity:15 * 1024 * 1024 ];
[[NSURLCache sharedURLCache] setDiskCapacity:20 * 1024 * 1024 ];
NSLog(@"Memory Cache capacity is %i", [[NSURLCache sharedURLCache] memoryCapacity]);
NSLog(@"Disk Cache capacity is %i", [[NSURLCache sharedURLCache] diskCapacity]);
과 NSURLConnection
를 만들었습니다 :이
viewDidLoad
에서 수행 된 다음
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request
delegate:self];
캐시 크기는 전체 파일보다 훨씬 큰 15메가바이트 및 20메가바이트이다 크기는 약 3.2MB입니다. 다운로드가 거의 즉시 완료되면 1MB 파일이 많은 connection:didReceiveData
과 마지막으로 connectionDidFinishLoading
을 통과하는 동안 파일이 캐싱되는 것을 볼 수 있습니다.
살펴 http://stackoverflow.com/questions/12565740/nsurlconnection-timing-out-on-ios이 -6-but-not-on-ios-5 – samar