方式一: 
      Image.Picture.Bipmap.Assign(JPEG对象)方式二:
        Function GetPicture:TPicture;
        Begin
          Result:=TPicture.Create;
          ......
        End;
        Image.Picture:=GetPicture;自己怀疑方式二比方式一多占用系统资源,因为多生成了一个Picture对象;
还是Image.Picture被赋值后指向GetPicture生成的对象,和Image.picture的自己的Picture合为一体,从而和方式一占用的系统资源相同?

解决方案 »

  1.   

    方法2要多用一块内存TImage在创建的时候,会自动创建一个TPicture,
    constructor TImage.Create(AOwner: TComponent);
    begin
      ....
      FPicture := TPicture.Create;
    end;在 Image.Picture:=GetPicture的时候,只是将指针指向新建的TPicture
    自动创建的FPicture还在内存里
      

  2.   

    Image.Picture:=GetPicture
    执行的就是Image.Picture.Assign所以你代码的最终结果应该是内存泄露, GetPicture生成的TPicture没人释放