2024年5月25日发(作者:)
Winform的运行框架
虚线连接的方块是Winform加载时和其他应用程序的不同之处.
首先从第一个方块说起:加载Winform的进程,这里加载的并不是你所创建的应用程
序,而是.net框架已经创建好的系统进程.启动Winform时,加载Winform的进程,启动As
时,加载IIS的进程,各应用程序是不同的.
第二个方块:在CLR挑选好了要加载还是以后,就要加载
和你所编译好的Winform的EXE,然后交给JIT去编译成当前平台可疑使用的
机器码.
第三个方块:编译好机器码以后,就可以执行指令了,这里会创建Systemdomain,它包
含了SharedDomain和默认的应用程序域,也就是当前应用程序自己的域,前面我们说过一
个.net进程中可以包含多个默认的应用程序域,而这些应用程序域都会用到,如
果每个默认的应用程序域中都去加载它,那么无疑会造成内存的浪费,所以就有了SharedD
omain,它是用来放所有Domain都要用到的Dll,这样就避免了浪费内存.也优化了加载的
速度.
第四个方块:这时候默认的应用程序域,就会去找到你应用程序的入口Main方法,并且
执行它,创建第一个被Main中初始化的窗体(Form).
明白了Winform的启动过程,我们来看Winform程序中用到的主要类及其层次关系:
发布评论