From 92d6c53016b2ed5d0cca5620d7d65263be713e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez=20Ruiz?= Date: Mon, 3 Jun 2019 21:31:29 +0200 Subject: [PATCH] Updated CollectionView sample --- README.md | 5 +++++ images/collectionviewperf.png | Bin 7295 -> 7286 bytes .../CollectionView Performance.xlsx | Bin 17505 -> 17537 bytes .../CollectionViewPerformance.Android.csproj | 2 ++ .../Views/CollectionPerfView.xaml | 4 +++- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7dcdc9e..e14189c 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,13 @@ The CollectionView is a flexible and performant view for presenting lists of dat In addition to allowing different layouts, the CollectionView has better performance than the ListView, but... how much does it improve the performance?. ![CollectionView](images/collectionviewperf.png) + ![CollectionView Create Renderer](images/collectionviewperf-createrenderer.png) +One of the biggest changes between ListView and CollectionView is the removal of wrapping content in a ViewCell. This allows for significant gains to performance, especially on Android, while remaining familiar to what you’ve done before when using the ListView. + +While the impact on the startup time is not noticeable (is more reduced), can appreciate a noticeable difference in memory consumption. + ### Fast Renderers Traditionally, most of the original control renderers on Android are composed of two views: diff --git a/images/collectionviewperf.png b/images/collectionviewperf.png index 90b612439d08e0d2bc5b0ede78f08e3dbc6198bc..a8e2406626569a812c080481b6a9fee4f87b10e2 100644 GIT binary patch literal 7286 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 literal 7295 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 delta 3035 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 Z;{8AFpDqUwHo<~XfTM{to3{R6=|7cam~;RD diff --git a/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance.Android/CollectionViewPerformance.Android.csproj b/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance.Android/CollectionViewPerformance.Android.csproj index 95e7d5c..fe9b6db 100644 --- a/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance.Android/CollectionViewPerformance.Android.csproj +++ b/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance.Android/CollectionViewPerformance.Android.csproj @@ -42,6 +42,8 @@ 4 true false + true + true diff --git a/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance/Views/CollectionPerfView.xaml b/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance/Views/CollectionPerfView.xaml index 33b343d..d40b1d9 100644 --- a/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance/Views/CollectionPerfView.xaml +++ b/src/CollectionView/CollectionViewPerformance/CollectionViewPerformance/Views/CollectionPerfView.xaml @@ -17,7 +17,9 @@ Margin="6"/> + ItemsSource="{Binding Monkeys}" + ItemSizingStrategy="MeasureFirstItem" + SelectionMode="None">