|
|
Classification: |
Java |
Category: |
AWT |
Created: |
01/07/2002 |
Modified: |
01/17/2002 |
Number: |
FAQ-0760 |
Platform: |
Symbian OS v6.0 |
|
Question: When displaying graphics in an application running on the Nokia 9210, there is a long delay the first time the graphic is
displayed to the screen whilst the image(s) is (are) loaded. Is it possible to pre-load the image(s) on a background thread
rather than waiting until the first time an attempt is made to display it?
Answer: Yes. Use the waitForAll() method of the java.awt.MediaTracker class. This loads all the images being tracked by the MediaTracker
object. This could be done in a background thread as soon as the application is launched. MediaTracker tracker = new MediaTracker(this); URL urlForImageFile = getClass().getResource("Resources/firstImage.gif"); image1 = getToolkit().getImage(urlForImageFile); urlForImageFile = getClass().getResource("Resources/secondImage.gif"); image2 = getToolkit().getImage(urlForImageFile); tracker.addImage(image1, 0); tracker.addImage(image2, 0);
try { tracker.waitForAll(); } catch(InterruptedException ioe) { }
Now the images are already loaded the first time the graphic is displayed.
|
|
|