给定大量数据时,UWP App崩溃无一例外

西基

崩溃发生在此页面上

尽管没有给我例外,但我认为应该是Setup导致崩溃功能。

当参数songs有大约300个项目时,它工作正常(我尚未测试最大数量)。

但是,当有800个或更多项时(我还没有测试min),它会崩溃,这将使我有很多AlbumViews,其构造函数在此处定义

在其构造函数中,它异步查找和设置Cover(来自StorageItemThumbnail)。而且我相信找到缩略图是一项IO操作。可能是频繁的IO操作导致崩溃。但是我不确定。

有人可以给我一些有关如何解决崩溃的建议吗?

的数据源songs来自我计算机上文件夹中的音乐文件。我已经将它们分组在子文件夹中,并且我的应用程序可以很好地用于各个子文件夹。当我使用所有音乐文件的根文件夹(大约有2800个文件)时,它会崩溃。

-更新-

我只是通过注释掉该功能来确认崩溃是由于频繁的IO引起的FindThumbnail

因此,我尝试通过使用延迟加载策略来修复它。我首先给出AlbumView.Cover一个默认值。然后Loaded如果我的话GridViewItem,我打电话给我FindThumbnail()

    private void DropShadowControl_Loaded(object sender, RoutedEventArgs e)
    {
        ((sender as FrameworkElement).DataContext as AlbumView)?.FindThumbnail();
    }

更多源代码在这里

我现在不再崩溃,但这似乎有问题。每个人都DropShadowControl应该有一个对应的,AlbumViewnull有时我会得到而且我认为这可能是导致我进一步问题的原因,因为大多数我的DropShadowControls在加载后仍显示默认图像。但是,在我重定向回之后AlbumsPage,这些缩略图会正确显示。

而且我将的绑定设置CoverOneWay,您可以从这里看到

我怎么了

西基

经过一些尝试,我发现最初的问题是由于频繁的IO操作引起的。

因此,为了避免这种情况,我需要进行延迟加载。

我在更新的问题中提到的我以前的加载策略存在问题,Loaded这不好,因为即使myDropShadowControl被加载,如果my不可见,它也会有一个null DataContext我依靠它来找到缩略图。

因此,我需要一个当我的控件变为可见和数据上下文可用的事件时,该事件为DataContextChanged

通过将代码放入该函数/事件而不是Loaded,我的问题得到了完美解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在给定的数据子集中只出现一次的特定单词时,如何替换?

来自分类Dev

尝试在D中进行字符串到真实的转换,无一例外

来自分类Dev

启动大量线程和块时,CUDA printf()崩溃

来自分类Dev

C ++运算符重载错误检查无一例外

来自分类Dev

如果您一次读取大量数据,则在处理文件时使用缓冲流有什么好处吗?

来自分类Dev

从商店下载时UWP App崩溃,但从侧面加载时不会崩溃

来自分类Dev

Segue已准备好,但表演无一例外都失败

来自分类Dev

通过意图传递大量数据时发生崩溃-Extras捆绑包是否有大小限制?

来自分类Dev

当一个表具有大量数据而另一个表具有少量数据时,在SQL Server中联接两个表

来自分类Dev

Postgres中大量数据的吸收缓慢并最终崩溃

来自分类Dev

Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

来自分类Dev

Android Facebook登录无一例外失败,只是“对不起,出问题了”

来自分类Dev

尝试在D中进行字符串到真实的转换,无一例外

来自分类Dev

LiveConnectClient | DownloadAsync崩溃无一例外

来自分类Dev

.htaccess重写所有内容,无一例外

来自分类Dev

启动大量线程和块时,CUDA printf()崩溃

来自分类Dev

Wildfly Spring Arquillian-WAR的部署和部署无一例外

来自分类Dev

List.GetRange的替代品,无一例外?

来自分类Dev

禁用所有桌面通知,Windows 10上无一例外

来自分类Dev

Laravel 4崩溃无一例外

来自分类Dev

给定大量数据,查找最常见的查询

来自分类Dev

套接字编程:输入流无一例外地被破坏

来自分类Dev

Postgres中大量数据的吸收缓慢并最终崩溃

来自分类Dev

UWP App在创建时出错

来自分类Dev

MVC-“无法显示此页面”-IE,无一例外

来自分类Dev

使用 tm 函数时保留唯一标识符(例如,记录 ID) - 不适用于大量数据?

来自分类Dev

使用 FileHelperAsyncEngine 无一例外崩溃

来自分类Dev

Snake 程序无一例外地停止运行

来自分类Dev

从 SQLite 中选择大量数据时应用程序崩溃

Related 相关文章

  1. 1

    在给定的数据子集中只出现一次的特定单词时,如何替换?

  2. 2

    尝试在D中进行字符串到真实的转换,无一例外

  3. 3

    启动大量线程和块时,CUDA printf()崩溃

  4. 4

    C ++运算符重载错误检查无一例外

  5. 5

    如果您一次读取大量数据,则在处理文件时使用缓冲流有什么好处吗?

  6. 6

    从商店下载时UWP App崩溃,但从侧面加载时不会崩溃

  7. 7

    Segue已准备好,但表演无一例外都失败

  8. 8

    通过意图传递大量数据时发生崩溃-Extras捆绑包是否有大小限制?

  9. 9

    当一个表具有大量数据而另一个表具有少量数据时,在SQL Server中联接两个表

  10. 10

    Postgres中大量数据的吸收缓慢并最终崩溃

  11. 11

    Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

  12. 12

    Android Facebook登录无一例外失败,只是“对不起,出问题了”

  13. 13

    尝试在D中进行字符串到真实的转换,无一例外

  14. 14

    LiveConnectClient | DownloadAsync崩溃无一例外

  15. 15

    .htaccess重写所有内容,无一例外

  16. 16

    启动大量线程和块时,CUDA printf()崩溃

  17. 17

    Wildfly Spring Arquillian-WAR的部署和部署无一例外

  18. 18

    List.GetRange的替代品,无一例外?

  19. 19

    禁用所有桌面通知,Windows 10上无一例外

  20. 20

    Laravel 4崩溃无一例外

  21. 21

    给定大量数据,查找最常见的查询

  22. 22

    套接字编程:输入流无一例外地被破坏

  23. 23

    Postgres中大量数据的吸收缓慢并最终崩溃

  24. 24

    UWP App在创建时出错

  25. 25

    MVC-“无法显示此页面”-IE,无一例外

  26. 26

    使用 tm 函数时保留唯一标识符(例如,记录 ID) - 不适用于大量数据?

  27. 27

    使用 FileHelperAsyncEngine 无一例外崩溃

  28. 28

    Snake 程序无一例外地停止运行

  29. 29

    从 SQLite 中选择大量数据时应用程序崩溃

热门标签

归档