Hier ein Auszug aus einer Stelle meines Codes für mein Handy - hierbei stehen keine Funktionsweisen oder Klassen im Vordergrund, es geht regelrecht um den Performancegewinn.
In diesem Code erzeuge ich ja quasi 500-mal die Objekte Image, Position & Sprite.
Dadurch müsste ja eigentlich viel Speicher alloziert (und auf den Heap gesetzt) werden.
Wäre es daher performanter, den Code so zu schreiben, dass alle Objekte wiederverwendet werden, so etwa:
PS: Verzeiht bitte die durch C&P entstanden Klammer-Verrutschungen :bae:
Java:
. . .
for (int i = 0; i < 500; i++)
{ //500 ist hier nur ein Zufalls-Beispielwert
try
{
Image image = Image.createImage(imageName);
Position imageMiddle = new Position(image.getWidth() /2 , image.getHeight() / 2);
Sprite imageSprite = new Sprite(image);
imageSprite.setRefPixelPosition(imageMiddle.x, imageMiddle.y);
animationImages.addElement(imageSprite);
}
. . .
}
In diesem Code erzeuge ich ja quasi 500-mal die Objekte Image, Position & Sprite.
Dadurch müsste ja eigentlich viel Speicher alloziert (und auf den Heap gesetzt) werden.
Wäre es daher performanter, den Code so zu schreiben, dass alle Objekte wiederverwendet werden, so etwa:
Java:
. . .
Image image;
Position imageMiddle;
Sprite imageSprite;
for (int i = 0; i < 500; i++)
{ //500 ist hier nur ein Zufalls-Beispielwert
try
{
image = Image.createImage(imageName);
mageMiddle = new Position(image.getWidth() /2 , image.getHeight() / 2);
imageSprite = new Sprite(image);
imageSprite.setRefPixelPosition(imageMiddle.x, imageMiddle.y);
animationImages.addElement(imageSprite);
}
. . .
}
PS: Verzeiht bitte die durch C&P entstanden Klammer-Verrutschungen :bae: