【问题标题】:ImageEx in ListView freezes UIThreadListView 中的 ImageEx 冻结 UIThread
【发布时间】:2018-04-29 19:33:47
【问题描述】:

uwp-community-toolkit version2.2

我的列表视图中有几个 ImageEx 元素,它们绑定到 url。所以当我启动我的应用程序时,UI 线程似乎被 ImageEx 阻止了。在从 Internet 加载所有 ImageEx 图像之前,我无法移动应用程序窗口、调整窗口大小、滚动列表或与应用程序的其他部分进行交互。

我想知道这是否是正常行为?!如果有办法解决这个问题?!

我的 ListViewItem 模板:

<DataTemplate x:DataType="m:RepoModel">
   <controls:ImageEx x:Phase="3"
        IsCacheEnabled="True"
        Source="{x:Bind owner.avatar_url}"
        Height="125" Width="125"                                       
        PlaceholderSource="ms-appx:///Assets/pl.png"/>

【问题讨论】:

  • 这应该在 3.0 版本中修复。您可以尝试使用最新的开发版本进行测试吗:dotnet.myget.org/gallery/uwpcommunitytoolkit
  • @ShawnKendrot 我使用的是稳定版。我会尝试 3.0-preview 版本,如果一切正常,我会在这里更新

标签: xaml uwp windows-community-toolkit


【解决方案1】:

ImageEx 控件异步下载图像,同时显示加载指示器。然后将源图像存储在应用程序的本地缓存中,以节省资源和加载时间。

对于我的测试,如果您启用IsCacheEnabled 属性,您将无法流畅地调整窗口大小。因为有很多I/O操作会导致图片缓存时UI卡住。

如果您想在加载图像时流畅地调整窗口大小,您可以禁用
IsCacheEnabled 属性。

【讨论】:

    【解决方案2】:

    正如 Shawn Kendrot 所说,他们已将其修复在 uwp-community-toolkit version3.0 上,我只是测试了稳定版本,我可以批准

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2020-02-26
      • 1970-01-01
      • 2011-02-19
      相关资源
      最近更新 更多