I would like to add some additional comment although I accepted the above answer. I did some bench-marking using FFLoadingImage caching library vs Xamarin.Forms Image and here are the results for Android and UWP.
I am using same project built in Xamarin.Forms and I am loading list view with 1000 ViewCell items each consisting of 1 URL image (so download involved), 7 resource images (on Android that would be AndroidResource image in drawable, on UWP, that would be Content image in proj root) and 6 Text bindings. Text bindings are not hardcoded by random values (name, email, gender, street, city, state and age). ViewCell is not having optimized layout but consists of a ViewCell halding bunch of Label elements, Image (or CachedImage), and 2 nested StackLayouts (one holding address, city, country, other holding 6 images (or CachedImages)).
The graphs above represent max amount of memory used to (a) load app and (b) scroll through all 1000 records to bottom of the list view.
B - RecycleElement and URL image is FFImageLoading CachedImage while others are XF Images
C - RecycleElement and all images are XF Image
D - RetainElement and URL image is FFImageLoading CachedImage while others are XF Images
E - RecycleElement and all are FFImageLoading CachedImage
While on Android, clear winner is to use FFImageLoading library and its CachedImage, on UWP, that is not so clear for some reason. Perhaps more optimization is needed there. But in overal, it seams to be clear that using RecycleElement caching strategy and FFImageLoading is a better way to go in terms of memory consumption.
In terms of smooth scrolling, on Android, column E is again clear winner. On UWP, scrolling is smooth enough in all cases and appers to be same but dragging scroll bar is jerky regardless which option I choose.
In my case, I was getting error The "ResolveLibraryProjectImports" task failed unexpectedly. when I open a project downloaded from Xamarin.University on Windows 10 and the path for one of the files ends up being to long (longer than 260 characters). So, to solve my problem, I would copy the directory as shallow as possible, so instead working directly in the structure of downloaded project, I would copy deepest directory containing the project into my C:. Building would work then without an issue as the path to all files in the project got shortened.