내 앱이 스크린 샷을 찍습니다. 스냅 샷을 순환 할 수있는 스크롤보기가있는 기본 화면이 있습니다. 문제는 스냅 샷이 많을수록 뷰가 더 느리게 실행된다는 것입니다. 일들이 심각하게 뒤떨어지기 전에 나는 scrollview에서 약 15 스냅 샷을 얻을 수 있습니다. 내가 보여주는 이미지는 실제 스크린 샷의 1/3 크기입니다. 각 스크린 샷은 scrollview의 UIImageView입니다. 성능 향상에 대한 의견이 있으십니까?iOS 이미지 성능 향상 제안보기
1
A
답변
5
당신이 할 수있는 최선의 방법은 게으른 로딩을하는 것입니다. 해당 시점에 표시되는 이미지 만 해당 뷰에로드하십시오. 일단 스크롤하면 이전 이미지가 해제되고 새 이미지가로드됩니다. 이미지를로드 할
두 가지 방법 :
[UIImage imageNamed:fullFileName] // caches the image
나 : 마지막으로
NSString *fileLocation = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];
NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];
[UIImage imageWithData:imageData];
또는 :
[UIImage imageWithContentsOfFile:path] // does not cache the image
솔루션이 최고 당신이 함께 무슨 일을하는지에 따라 달라집니다 영상. imageNamed:
메서드는 이미지를 캐시하지만 대부분의 경우 메모리 사용에 도움이됩니다. 예를 들어 이미지를 10 번로드하여 표보기에서 일부 텍스트와 함께 표시하면 UIImage
은 10 개의 개별 객체를 할당하는 대신 해당 이미지의 단일 표현만을 메모리에 유지합니다. 반면에 이미지가 매우 크고 다시 사용하지 않는 경우 데이터 객체의 이미지를로드하여 완료되면 메모리에서 이미지를 제거 할 수 있습니다.
거대한 이미지가 없으면 게으른로드를 사용하는 한 캐싱에 대해 걱정할 필요가 없습니다. 문제가 보이지 않는 한, 메모리 개선을 무시할 정도로 적은 코드 행을 선택합니다.
관련 문제
- 1. 이미지 응용 프로그램 성능 향상
- 2. 성능 향상
- 3. UIWebview 로딩 성능 향상
- 4. 이 이미지 생성 성능 향상 기능
- 5. 슬라이드 쇼 성능 향상
- 6. Android에서 앱의 성능 향상
- 7. CATiledView의 성능 향상
- 8. 벤치마킹 이미지 향상 알고리즘
- 9. DataTable.ReadXml 성능 향상
- 10. 스크롤 뷰의 성능 향상
- 11. 지역화 성능 향상? (ComponentResourceManager.ApplyResources)
- 12. 사전 성능 향상
- 13. MySQL의 성능 향상
- 14. Httprest 성능 향상
- 15. 성능 향상 방법 ..?
- 16. Symfony2, 쿼리 성능 향상
- 17. regexp의 성능 향상
- 18. JS로 성능 향상
- 19. 성능 향상 코드?
- 20. 헤드리스 셀렌의 성능 향상
- 21. Android ViewPager 성능 향상
- 22. Quartz2D 드로잉 성능 향상
- 23. Cython으로 성능 향상 극대화
- 24. uitableview의 성능 향상
- 25. 성능 향상 SQL
- 26. Three.js에서 ParticleSystem 성능 향상
- 27. asp.net 페이지의 성능 향상
- 28. 문자열 작성기의 성능 향상
- 29. CALayer 필터의 성능 향상
- 30. UIWebView의 스크롤링 성능 향상
한 번에 몇 개의 이미지를 표시해야합니까? 또한 "각 스크린 샷은 scrollview에서 UIImageView입니다."각 UIImageView가 단일 스크롤 뷰 안에 있거나 각 이미지 뷰가 자체 스크롤 뷰 내에 중첩되어 있음을 의미합니까? 그런 다음 단일 외부 스크롤보기에 배치됩니까? –