如何优化?
知道了在那里优化,但如何进行优化呢?我们知道大部分的运算时间被花在了绘图函数上,J2ME已经为我们提供了这些函数,我们没有办法对这些函数的内部进行优化,但是我们仍然有选择权。下面我们来对J2ME提供给我们的绘图函数作一测试。
在Canvas类里添加测试代码如下:
protected void paint(Graphics g) {
TestPaint(g);
}
void TestPaint(Graphics g) {
setClip(g);
setColor(g);
m_font = getFont();
setFont(g);
drawString(g);
drawRect(g);
fillRect(g);
drawImage(g);
drawRegion(g);
drawArc(g);
drawChar(g);
drawLine(g);
drawRoundRect(g);
fillArc(g);
fillRoundRect(g);
}
void setColor(Graphics g) {
g.setColor(0);
}
void drawArc(Graphics g) {
g.drawArc(0, 0, 100, 100, 4, 4);
}
void drawChar(Graphics g) {
g.drawChar('你', 0, 0, GE.TOPLEFT);
}
void drawRoundRect(Graphics g) {
g.drawRoundRect(0, 0, 100, 100, 4, 4);
}
void fillRoundRect(Graphics g) {
g.fillRoundRect(0, 0, 100, 100, 4, 4);
}
void fillArc(Graphics g) {
g.fillArc(0, 0, 100, 100, 4, 4);
}
void drawLine(Graphics g) {
g.drawLine(0, 0, 100, 100);
}
Font getFont() {
return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
}
void setFont(Graphics g) {
g.setFont(m_font);
}
void drawString(Graphics g) {
g.drawString("你好", 0, 0, GE.TOPLEFT);
}
void drawRect(Graphics g) {
g.drawRect(0, 0, 100, 100);
}
void setClip(Graphics g) {
g.setClip(0, 0, 300, 300);
}
void fillRect(Graphics g) {
g.fillRect(100, 0, 100, 100);
}
void drawImage(Graphics g) {
g.drawImage(GE.m_images[GRes.PNG_MAP], 0, 100, GE.TOPLEFT);
}
void drawRegion(Graphics g) {
g.drawRegion(GE.m_images[GRes.PNG_MAP], 0, 0, 100, 100, Sprite.TRANS_MIRROR,100, 100, GE.TOPLEFT);
}
[上一页] [1] [2] [3] [下一页]
编辑:lolo