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倍,估计与优化有关.
2006-08-04 15:23:10
Views(1493)
Comments