C# WriteableBitmap初始化是否启动了一些后台线程?
我不知道是否需要提供更多信息,但我一直在浏览我的代码,找不到导致此问题的任何其他原因 我的代码中有一个C# WriteableBitmap初始化是否启动了一些后台线程?,c#,wpf,writeablebitmap,C#,Wpf,Writeablebitmap,我不知道是否需要提供更多信息,但我一直在浏览我的代码,找不到导致此问题的任何其他原因 我的代码中有一个WriteableBitmap,我只能通过WriteableBitmap wb声明它 现在只提供这些信息,当我现在关闭主窗口时,VS2013中的调试过程停止,一切似乎都很好。 但是,当我初始化wb时 wb = new WriteableBitmap(dimx, dimy, 96, 96, PixelFormats.Indexed8, paletteGray); 之后不运行任何其他代码行,然后关
WriteableBitmap
,我只能通过WriteableBitmap wb声明它代码>
现在只提供这些信息,当我现在关闭主窗口时,VS2013中的调试过程停止,一切似乎都很好。
但是,当我初始化wb时
wb = new WriteableBitmap(dimx, dimy, 96, 96, PixelFormats.Indexed8, paletteGray);
之后不运行任何其他代码行,然后关闭窗口,VS似乎不会停止调试,这意味着我必须单击“停止”按钮停止所有正在运行的代码,这在初始化wb
后也需要很长时间(最多15秒)
这里的WriteableBitmap
是否有我遗漏的地方?我会说没有,因为我无法重现这种行为。应用程序中一定有其他部分导致了它。创建WriteableBitmap时是否检查了线程数是否增加?我使用Process.GetCurrentProcess().Threads.count
检查了初始化wb前后的线程数。在初始化wb之前,我得到了30,之后我得到了31,所以看起来好像正在创建一个线程,但我真的不明白它的用途和处理方法。另外,为什么有30个线程在运行?请参阅。谢谢,这回答了大量线程的问题。但是我仍然不知道为什么初始化wb会在关闭窗口后打开一个新线程…即使在创建WriteableBitmap时创建了一个线程,这也不能解释为什么终止应用程序需要15秒。