Xamarin.Формы как хранить изображения — лучшие практики

#.net #mobile #xamarin.forms #xamarin.android #xamarin.ios

#.net #Мобильный #xamarin.forms #xamarin.android #xamarin.ios

Вопрос:

Я создаю приложение с использованием Xamarin.Формы как для Android, так и для iOS. В моем приложении у меня много изображений, на данный момент у меня нет сервера для серверной части и хранения всех изображений, а затем загрузки их через приложение. Все изображения хранятся в приложении. У меня есть два варианта:

  • храните изображения как ресурсы в общей библиотеке
  • сохраняйте изображения в проекте Android и iOS

Как я уже говорил ранее, у меня более 200 изображений, и мой вопрос таков: каков наилучший подход к хранению изображений в Xamarin.Формы? Есть ли разница в скорости загрузки между хранением изображений в качестве ресурсов в общем проекте и отдельно на каждой платформе?

Для Android требуется как минимум 5 разных размеров, iOS 3, поэтому мне нужно создать 8 разных копий одного и того же изображения…

Если я буду хранить изображение в общей библиотеке, какой размер мне следует выбрать? Будет ли разница в производительности между устройствами с маленьким и большим экраном во время масштабирования изображений?

Комментарии:

1. Привет, хотя и не предполагаю, что хранить большое количество изображений локально, но если нет выбора, вы можете сохранить их в проекте Android и iOS. Это будет рекомендовано. Потому что каждая из собственных платформ имеет папку кэша, которая может вместить файлы большого размера для хранения. И это покажет наилучшую производительность на каждой собственной платформе.

2. Также обратите внимание, что Android не «требует» 5 разных. Это просто позволяет вам добавлять их. Если он не найдет изображение для размера экрана, он просто посмотрит цепочку. Вам нужно указать только одно. Я думаю, что iOS может работать так же.

3. @Andew Я знаю, но я читал, что производительность выше там, где Android не нужно масштабировать изображение, поэтому я хочу иметь все размеры.

Ответ №1:

Вы можете использовать svg-изображения в качестве встроенного ресурса в .netStandard порпроекте, который будет работать для всех разрешений Android и iOS.

Комментарии:

1. Хорошо, но как насчет производительности? Это поможет с количеством изображений, но будет отображаться так же быстро, как обычный png или медленнее?