안녕하세요 저는 xamarin 양식 PCL을 사용하여 응용 프로그램을 만들려고합니다. 기본 이미지를 사용하는 이미지 갤러리를 구현 중입니다. 모든 이미지가 얼룩에 있습니다. 이미지를 다운로드하고 이미지를 장치에 저장하고 다운로드가 완료되면 즉시 기본 이미지를 교체해야합니다. 그리고 다음 번에 앱을로드 할 때 캐시에없는 이미지 만 다운로드하십시오. 캐시에서 이미지를 캐싱하고 이미지를로드하는 플러그인이 없습니다. FFPLUGIN이라는 플러그인을 보았지만 작동하지 않았습니다. 어떻게 구현할 수 있습니까? 이미지 캐싱은Xamarin forms : 이미지 캐시
2
A
답변
1
당신은 여기 자 마린 양식에 ImageCaching
에 표시 내장 사용할 수 있습니다
https://developer.xamarin.com/guides/xamarin-forms/working-with/images/#Downloaded_Image_Caching
다운로드 이미지 캐싱
UriImageSource 또한 지원을 통해 구성 다운로드 한 이미지의 캐싱 다음 속성 :
CachingEnabled - 캐싱 사용 여부 (기본적으로 true).
CacheValidity - 이미지가 로컬로 저장되는 기간을 정의하는 TimeSpan. 캐싱은 기본적으로 사용되며 이미지는 에 24 시간 동안 로컬로 저장됩니다.
Image.Source = new UriImageSource {CachingEnabled = false, Uri="http://server.com/image"}; To set a specific cache period (for example, 5 days) instantiate the image source like this: webImage.Source = new UriImageSource { Uri = new Uri("https://xamarin.com/content/images/pages/forms/example-app.png"), CachingEnabled = true, CacheValidity = new TimeSpan(5,0,0,0) };
내장 캐싱 매우 쉽게 설정할 수 이미지 (또는 바인드)의 목록을 스크롤과 같은 시나리오를 지원하기 위해 만드는 : 특정 이미지에 대한 캐싱을 사용하지 않으려면, 이 같은 이미지 소스를 인스턴스화 이미지를 각 셀에 넣고 보기로 셀을 다시 스크롤 할 때 기본 제공 캐시 이 이미지를 다시로드하도록합니다.
이미지의 이름이 동적입니까, 아니면 http://www.mywebsite.com/myimage.png와 같이 정적 인 'url'이 있습니까? – user1
@ user1 동적으로 명명 된 – Sonali
웹 이미지는'Xamarin.Forms.Image'로 24 시간 동안 기본적으로 캐시됩니다. 'CacheValidity'를 변경하여 값을 늘릴 수 있습니다. – BrewMate