例如,我將使用libgdx(遊戲引擎),但這是一個關於java如何工作的問題,我沒有找到。當傳遞一個對象作爲參數時,是否使用了更多內存?
這是soundControler類:
private final Sound s_0 = Gdx.audio.newSound(Gdx.files.internal("a.mp3"));;
private final Sound s_1 = Gdx.audio.newSound(Gdx.files.internal("a.wav"));
//lot of more variables
public void shoot(short sound){
if(SOUND_ENDABLED) {
switch (sound) {
case 0:
s_0.play();
break;
case 1:
s_1.play();
break;
}
}
}
所以這基本上是在內存中加載的聲音,程序會不斷利用其庫。
又如:
比方說,我們有一個Animator
類,將有方法很多關於遊戲中的每個動畫。
這是一個很好的做法嗎?或者我每次將soundControler
作爲參數通過時,是否會在內存中創建所有聲音和方法的新副本?
可能相關:[是Java傳遞引用還是傳值](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-值)? – nbrooks