Я использую элемент управления изображениями в приложении Xamarin для Android. Используется в двух местах: на слайдере гамбургера и на странице контента. Я разрешаю изображение из веб-API и использую приведенный ниже код:
private void OnPresentedChanged(object sender, EventArgs e)
{
ImgProfile.Source = new UriImageSource()
{
Uri = new Uri(Constants.ProfilePicUrl),
CachingEnabled = true,
CacheValidity = new TimeSpan(5,0,0,0)
};
}
Я попробовал приведенный выше код с обоими условиями CachingEnabled = true/false
. Вот что я наблюдал:
CachingEnabled = False
: Каждый раз, когда элемент управления изображением мерцает и перезагружает изображение. Я вижу промежуток времени в секунду или две между перезагрузкой изображения с веб-URL. Аналогично в меню слайдера.
CachingEnabled = true
: Мой элемент управления изображением продолжает отображать кешированную версию, даже если URL-адрес имеет более новое/другое изображение, поскольку его страница профиля и пользователь могут изменить свое изображение профиля N раз в день. Итак, № 1 решает мою проблему, но мерцающая часть раздражает.
Обратите внимание, что мой элемент управления Image является собственным элементом управления изображениями xamarin. Кроме того, изображение профиля берется и загружается с камеры, поэтому нет возможности загрузить индивидуальное изображение меньшего размера, чтобы устранить задержку.
Надеюсь, моя проблема понятна вам, ребята.