2012-10-22 2 views
1

내 웹 사이트에서 사용자가 업로드 한 이미지를 표시하는 IOS 앱에서 작업 중입니다.IOS 앱의 이미지 표시 옵션

모바일 또는 서버에서 이미지 크기를 조정하는 가장 좋은 방법은 무엇입니까?

옵션 A - iphoneretina_ImgA, Iphone_ImgA, Ipad_ImgA, IphoneThumbnail_ImageA에 대한 이미지를 호스팅하는 예를 들어, 축소판을 원하는 크기로 조정하고 클라우드 서버에 저장합니다 (예 : Amazon S3).

옵션 B - 장치에서 원하는 크기의 축소판 그림으로 크기를 조정합니다.

iphone/ipad 장치에 서버 이미지를 표시 할 때 가장 좋은 방법은 무엇입니까?

답변

1

서버 측에서 가능한 한 많은 이미지 처리를 수행하고 최적의 크기의 이미지를 장치에 전달할 수 있다면 장치에서 최적의 성능을 얻을 수 있습니다 (예 : 원하는 사용자 인터페이스를 지원하는 최소 이미지). 사용자가 느린 셀룰러 네트워크에있는 경우에는 다운로드 시간뿐만 아니라 소중한 장치 메모리 및 처리 시간 (장치에 고해상도 이미지를 다운로드하는 경우 적절한 크기의 이미지로 변환하는 데 필요한 CPU주기 및 메모리 양, 더 나쁜, 그들을 크기를 조정하고 가난한 사람에게 'UIImageView 그들을 렌더링하려고 시도하지).

요약하면 서버 측에서 할 수 있다면 이상적입니다. 장치에서이 작업을 수행하면 장치의 네트워크 대역폭, 메모리 사용량 및 처리 시간이 줄어 듭니다.

원래 이미지가 너무 크지 않은 경우 적절한 겸손으로 벗어날 수 있습니다. 이는 약간의 장치 측 프로세싱을 필요로합니다. 예를 들어, 적당한 크기의 이미지와 제한된 기존 서버 측 이미지 처리 기능으로 기존 CMS 시스템과 인터페이스하고 있으므로 다운로드/필요에 따라 장치에 느린 미리보기 이미지를 만들지 만 원본 이미지는 거대하지 않았다. (b) 어쨌든 장치에 원본 해상도 이미지가 필요했습니다. (c) 앱을 일회용으로 생성 할 때 사용자 인터페이스가 너무 현저하게 영향을받지 않았는지 확인하기 위해 영리한 GCD (또는 다른 유사한 concurrent processing 기술을 사용할 수 있음) (로컬로 캐시 된 미리보기 이미지) 향후 최적의 성능을 위해).

항상 그렇듯이 최종 아키텍처는 이미지, 서버 기능 및 앱 요구 사항에 대한 세부 기능에 따라 결정되지만, 경험적으로 볼 때 서버 측만큼 많은 작업이 수행됩니다 네트워크 대역폭과 서버 복잡성 문제를 장치의 다른 요구 사항과 균형을 유지할 수 있습니다.