2014-06-19 10 views
0

26,4KB 이미지가 있습니다. 프레임 벨로우즈 클래스에 의해로드됩니다. 왜 Flex의 프로파일 링 도구가이 Frame 인스턴스에 대해 1388KB의 사용량을 표시합니까?이미지 메모리 사용량

public class Frame extends Group 
    { 
     public function Frame(source:Object)// image with 26,4K 
     {   
      var image:BitmapImage; 
      image = new BitmapImage(); 
      image.smooth = true; 
      image.source = source; 
      this.addElement(image);   
     } 
    } 

답변

1

BitmapImages 본질적 화소 색 판정의 바이트를 포함하는 압축 직사각형 어레이이다.

입력 파일이 JPG/JPEG, PNG, GIF 인 경우 (기본적으로 압축 됨).

100px by 100px, 32bit RGBA colors (빨강/녹색/파랑/알파) 이미지를 상상해보십시오.

BitmapImage의 메모리 요구 사항은 100 * 100 * (32/8) (X * Y * bytesPerPixel) = 40K 바이트입니다. 하지만 이미지가 JPG 인 경우 3K 등으로 압축 될 수 있습니다. (또는 GIF 또는 PNG 등)

비디오 메모리에 표시 (복사) 할 수 있도록 비트 맵으로 저장해야합니다. 아마도 flex에는 사용할 수있는 대체 이미지 저장 유형이 있습니다/시도해보십시오.

+0

내 그림은 1024x534입니다. 수평 및 수직 해상도 96dpi 및 24 Dit 깊이. s : 이미지는 이미지를 표시하는 것이 더 좋습니까? – Dave

+0

{Grin} 가장 안좋아! 시도 해봐! 제 경험으로 볼 때 메모리가 부족한 임베디드 장치를 고치지 않으면 문제가되지 않습니다. 좋은 SCM (git!)으로 사물을 가지고 놀고, 아이디어를 시도하고, 무언가가 당신뿐만 아니라 원할 때 쉽게 돌아갈 수 있습니다. – lornix