将.Net Compact Framework应用程序移动到Windows CE设备的SD卡时,程序执行速度较慢,然后从内部存储器运行.
我想,初创公司可能会慢一点,但这是整个计划.存储卡没有IO.
为什么我的应用程序如此缓慢以及紧凑框架如何处理和加载程序集?
它与请求分页有关.您的应用无法直接从SD卡运行,因为SD不是可执行媒体,因此必须将其拉入RAM才能运行.Windows CE通常没有大量的RAM,因此加载程序不会将整个应用程序拉入RAM运行.当然,你的堆和堆栈将在RAM中,但是程序集中的实际IL代码会根据需要进行分页.当系统决定不再需要特定页面时,它也会被分页.
这种分页可能会对性能产生影响,虽然我有点惊讶它是一个很大的影响,除非应用程序本身非常大(如果你有很多嵌入式资源,它正在退出程序集).