【问题标题】:Loading Bulk Images using way too much ram使用过多的内存加载批量图像
【发布时间】:2014-06-03 19:11:58
【问题描述】:

当我运行以下代码时,我将 1,5 GB jpg 图像插入到 List VideoType 但它使用 20GB+ Ram。我怀疑有些重复,但我不知道怎么做?

public class VideoType
{
     public int VideoTypeId { get; set; }
     public List<Bitmap> Bitmaps { get; set; }
}

代码 >

List<VideoType> VideoTypes = new List<VideoType>();

for (int i = 0; i < X; i++)
    VideoTypes.Add(VideoTypeGet(VideoTypeId)));



public static VideoType VideoTypeGet(int VideoTypeId)
{
         VideoType VideoType = new VideoType();
         List<Bitmap> Bitmaps = new List<Bitmap>()

         for (int i = 1; i < X; i++)
             Bitmaps.Add((Bitmap)Bitmap.FromFile(@"X"));

         VideoType.Bitmaps = Bitmaps;
         return VideoType;
}

【问题讨论】:

    标签: c#


    【解决方案1】:

    JPEG 被压缩。位图未压缩。所以 - 你去。图像会被解压缩并占用更多 RAM。

    【讨论】:

    • 没有。为了显示它们,它们必须被解压缩。您可以尽可能避免这种情况,但是您会在稍后显示之前获得处理时间。聪明的 - 和时间密集型的 - 编程和妥协是解决这些问题的唯一方法。我没有用例 - 所以我无法推荐架构(即使 - 这超出了问答网站的范围)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2012-02-18
    • 2021-04-05
    • 2010-12-15
    • 1970-01-01
    相关资源
    最近更新 更多