c# - 启动时的基本 WPF 应用程序内存泄漏问题
问题描述
我正在努力提高我的 C# 知识,所以我正在尝试创建一个应用程序,它首先显示一个登录屏幕,如果输入管理员密码,它将打开 MainWindow。我已经在 WPF 中创建了登录页面,并输入了以下代码以首先显示登录屏幕:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
Window1 window1 = new Window1();
window1.ShowDialog();
}
}
}
但是,这似乎对我不起作用。当我点击开始时,内存使用量从大约 80MB 开始,然后继续攀升到大约 280MB,然后它会因System.StackOverflowException而崩溃。
该应用程序也不会显示在屏幕上。
我究竟做错了什么?我只学习 WPF 和 C# 几个星期,因此非常感谢您的反馈。
解决方案
删除这两行
Window1 window1 = new Window1();
window1.ShowDialog();
在 window1.ShowDialog() 中,您再次创建一个对象并调用 Window1,它进入无限循环,因此抛出 System.StackOverflowException
推荐阅读
- c++ - 如何提高 Prime Generator(SPOJ) 解决方案的效率?
- c++ - “原始计算器” - 创建除法循环的问题
- javascript - 为什么 jQuery 禁用的元素在 jQuery mobile 中看起来是可触摸的?
- c++ - 使用多个 CDHtmlDialogs 保持未释放的内存。(导航相同的 Url)
- reactjs - react-testing-library - 使用 useContext 钩子的测试组件 - 上下文在测试之间持续存在
- tsql - TSQL:将连续时隙分组在一起
- assembly - 在汇编的情况下,编程模型与程序计数器和堆栈指针之间的区别是什么?
- vim - 从 Vim 切换到 Emacs - 如何高效地编辑代码
- javascript - CSS 关键帧动画滞后/断断续续
- javascript - 未知提供者:attrsProvider <- attrs