相关疑难解决方法(0)

没有内存时,GC不会自动处理.Net和Bitmap

我想知道为位图分配的内存的分配和处理如何在.NET中工作.

当我在一个函数的循环中做很多位图创建并连续调用它时,它会一直工作,直到某个时候Bitmap不能分配内存,给出指定大小的异常"Invalid parameter".

如果我在它工作的同时调用垃圾收集器.

使用以下代码,您可以重新生成错误:

class BitmapObject {
    public bool Visible {
        get { return enb; }
        set { enb = value; }
    }
    private bool enb;
    private Bitmap bmp;
public BitmapObject(int i, bool en)
{
    enb = en;
    bmp = new Bitmap(i, i);


   }
}

class Pool<T> where T : BitmapObject
{
    List<T> preallocatedBitmaps = new List<T>();
public void Fill() {
    Random r = new Random();
    for (int i = 0; i < 500; i++) {
        BitmapObject item = …
Run Code Online (Sandbox Code Playgroud)

.net c# memory garbage-collection bitmap

11
推荐指数
2
解决办法
5310
查看次数

标签 统计

.net ×1

bitmap ×1

c# ×1

garbage-collection ×1

memory ×1