【问题标题】:xamarin.forms scrollView with image is slow in android带有图像的xamarin.forms scrollView在android中很慢
【发布时间】:2018-02-06 14:38:11
【问题描述】:

我有 20~ 个单元格的动态列表。

我有 3 种类型的单元格,所以我不能使用 Listview。

我正在使用包含 StackLayout 和单元格元素的 ScrollView。

每个单元格元素也是一个包含一些标签和按钮的 StackLayout

滚动流畅。

我可以在每个单元格中选择通过按单元格内的按钮来添加图像。

添加图片后,滚动到有图片的单元格时会变慢。

当滚动超出图像时,滚动再次变得平滑

我也尝试过 TableView,但呈现单元格时滚动不流畅(不添加图像)

如何改进图像的渲染?

【问题讨论】:

  • 图片的原始分辨率有多大?为了获得最佳性能,请确保图像的分辨率适合屏幕上占用的空间 - 我发现 Android 在依赖操作系统调整图像大小以适应视图时尤其会受到巨大的性能影响
  • 你使用默认的Image类来表示图像吗?
  • 我尝试同时使用 FFIMageLoading 和 ImageView,结果同样糟糕

标签: xamarin.forms scrollview


【解决方案1】:

我有 3 种类型的单元格,所以我不能使用 Listview。

实际上你可以通过DataTemplateSelector来使用ListView。只要您有一个包含所有要显示的对象的集合,并且集合中的每个对象都指示单元格类型(通常是因为它的模型类型),带有 DataTemplateSelector 的 ListView 就可以很好地工作。

无论您坚持使用 ScrollView 还是移至 ListView,如果可能,请查看 FFImageLoading 以显示图像。虽然它不能解决所有图像显示问题,但它通常有助于解决响应速度和图像大小问题。

【讨论】:

  • 我也尝试了 DataTemplateSelector,带有 recycleElement 策略和 FFImageLoading,但渲染仍然很慢。但是如果我是第一次展示图像,我不明白为什么滚动很慢,因为 CellView 是创建 allredy
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-19
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多