2013-04-23 2 views
0

GridView에는 온라인 상태 인 약 40 개의 이미지가 있습니다. Image.Source는 URL (예 : "http://foo.jpg")에 결합 어디서과 같이 내 그리드에 대한 DataTemplate을 가지고있다 : 모든 이미지를 통해 먼저 다운로드해야으로Windows 스토어 - URL에서 이미지로드 - 성능 저하

는 문제가
<Image Source="{Binding imgUrl}" > 

,이 방법은 매우 느립니다 인터넷 (이미지의 실제 크기는 500x500 일 수 있지만 앱 내에서 약 250x200 크기 만 필요함). 이로 인해 GridView에서 40 개의 이미지가 팝업되어 시간이 걸립니다. 어떻게 개선 할 수 있니?

로컬 저장소에 미리 다운로드 하시겠습니까? 이미지 크기를 조정 하시겠습니까? ...

답변

0

나는 너 자신에 대해 거의 대답했다고 생각한다. 소스 URL이 느리면 미리 다운로드 할 수밖에 없습니다. 소스를 제어하는 ​​경우를 제외하고 말하자면, 분명히 스케일링 및/또는 gif와 같은 많은 공간을 차지하지 않는 형식으로 변환하는 것이 좋습니다.

0

미리 다운로드 할만한 것이 있다면 WebClient'sDownloadDataAsync을 사용해 보시기 바랍니다. 다운로드 완료 이벤트가 시작되면 이미지 모음을 업데이트 할 수 있습니다.

+0

불행히도 Windows Store 앱에서는 WebClient가 지원되지 않습니다. – Johann

+1

아, 알겠습니다. 나는 그 사실을 몰랐다. 이 [답변] (http://stackoverflow.com/a/9485128/609879) WebClient에 대한 좋은 해결책이 될 것 같아, – Scott