关于C#的内存~
原来是做C++开发的,现在做C#碰到个内存问题:
比如游戏一个关卡分若干场景的,
由第一个场景到第二个场景的时候,比如游戏流程不会由第二个场景回到第一个场景(游戏可以这么设计,比如第一个场景是一个桥头,到第二个场景的时候,桥发生了坍塌,那么逻辑上玩家就不能回到第一个场景,我们就可以释放第一个场景的内存),那么在从第一个场景到第二个场景的时候就可以释放第一个场景的内存,加载第二个场景的资源到内存。
而在第二个场景到第三个场景的时候,第三个场景是可以回到第二个场景的,这个时候我们不能释放第二个场景的内存,同时还需要加载第三个场景的资源到内存。
所以在上面举的例子中,如果是C++,那么我可以控制何时需要加载内存,何时需要分配内存。
也就是说C++的内存管理比较灵活,我完全可以自己去管理。到了C#,我可以这么做吗?
如果完全不去理会内存释放。那么比如第一个场景内存加载后,再加载第二个第三个场景的话内存不够,C#会那么智能的去释放第一个场景的内存,而不是第二个??