图片占用内存测试

2006-08-04 15:23:10 J2ME经验 Views(1493)

1 原理:
加载不同的图片,观察不同的内存占用情况.
2 代码:
public void Process() {
           GetMem();
           try {
                 GetInput();
           } catch (IOException ex) {
           }
           refresh();
     }

     public void GetInput() throws IOException {
           switch (m_keyState) {
           case Canvas.KEY_NUM0:
                 img = null;
                 Init(0);
                 break;
           case Canvas.KEY_NUM1:
                 Load(1);
                 Init(1);
                 break;
           case Canvas.KEY_NUM2:
                 Load(2);
                 Init(2);
                 break;
           case Canvas.KEY_NUM3:
                 Load(3);
                 Init(3);
                 break;
           case Canvas.KEY_NUM4:
                 Load(4);
                 Init(4);
                 break;
           }
           m_keyState = 0;
     }

     Image img;
     String str = "null";
     public void Load(int i) throws IOException {
           switch (i) {
           case 1:
                 img = Image.createImage("/1.png");
                 break;
           case 2:
                 img = Image.createImage("/2.png");
                 break;
           case 3:
                 img = Image.createImage("/3.png");
                 break;
           case 4:
                 img = Image.createImage("/4.png");
                 break;

           }
     }

     public void Init(int i) {
           switch (i) {
           case 1:
                 str = "Pic XK";
                 break;
           case 2:
                 str = "Pic XK";
                 break;
           case 3:
                 str = "Pic XK";
                 break;
           case 4:
                 str = "Pic XK";
                 break;

           }
           memLeast = 200000;
     }

     long mem;
     long memLeast;
     public void GetMem() {
           mem = Runtime.getRuntime().totalMemory() -
                    Runtime.getRuntime().freeMemory();
           if (memLeast > mem) {
                 memLeast = mem;
           }
     }

3 实验数据:
22,716
51,404   图片大小 11.9K,经过优化    内存占用 *2.4
135,060 图片大小 36.2K,经过优化    内存占用 *3.1
51,080   图片大小 31.5K,未经过优化 内存占用 原大小
29,892   图片大小 8.9K, 未经过优化 内存占用 原大小

4 结论:
图片占用内存大小, 1-3倍,估计与优化有关.

Comments

Leave a Comment

Name
Content
Verification Type the characters you see in the picture below