|
How to improve efficiency of your application |
|
|
This java tip illustrates how to improve efficiency of mobile
application while drawing complex image. If you create a mutable
Image, you can use Graphics methods to draw onto it and then copy
the result to the screen. It is called double-buffering. This
technique can be used to improve performance by drawing complex
shapes that do not change or change rarely offline so that they
can be quickly copied to the screen when required in the paint( )
method of the Canvas class.An example that uses the technique of
drawing onto a mutable image.
public void paint(Graphics g) {
int width = getWidth( );
int height = getHeight( );
// Create an Image the same size as the Canvas.
Image image = Image.createImage(width, height);
Graphics imageGraphics = image.getGraphics( );
// Fill the background of the image black
imageGraphics.fillRect(0, 0, width, height);
// Draw a pattern of lines
int count = 10;
int yIncrement = height/count;
int xIncrement = width/count;
for (int i = 0, x = xIncrement, y = 0; i < count; i++) {
imageGraphics.setColor(0xC0 + ((128 + 10 * i) << 8) +
((128 + 10 * i) << 16));
imageGraphics.drawLine(0, y, x, height);
y += yIncrement;
x += xIncrement;
}
// Add some text
imageGraphics.setFont(Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_UNDERLINED, Font.SIZE_SMALL));
imageGraphics.setColor(0xffff00);
imageGraphics.drawString("Image Graphics", width/2, 0, Graphics.TOP |
Graphics.HCENTER);
// Copy the Image to the screen
g.drawImage(image, 0, 0, Graphics.TOP | Graphics.LEFT);
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.