我正在为我正在用Java制作的游戏加载资源。我的代码中的几个示例行是:
manager.load("game/block.png", Texture.class, param);
manager.load("game/player.png", Texture.class, param);
manager.load("game/point.png", Texture.class, param);
manager.load("game/poison.png", Texture.class, param);
manager.load("game/regen.png", Texture.class, param);
我只是想知道,以上的方式做到这一点会更快(大概有20-30行与此相似),或者这样:
String ext = ".png";
manager.load("game/player" + ext, Texture.class, param);
manager.load("game/point" + ext, Texture.class, param);
manager.load("game/poison" + ext, Texture.class, param);
manager.load("game/regen" + ext, Texture.class, param);
非常感谢任何答案。
答案 0 :(得分:4)
如果你创建ext
变量final
那么你编码它的方式并不重要,因为编译器将连接常量并将它们放在常量池中(它也会删除{{1}如果没有引用则完全完全)。编写有助于您阅读和维护的代码。让编译器和JIT处理微优化。
示例:强>
这两段代码在编译时生成相同的字节码。
ext
和
public static void main(String[] args){
final String ext = ".png";
load("asset1" + ext);
load("asset2" + ext);
load("asset3" + ext);
}
都生成此字节码
public static void main(String[] args){
load("asset1.png");
load("asset2.png");
load("asset3.png");
}
答案 1 :(得分:-1)
版本2会更快,但是你几乎无法测量它,因为加载纹理的价格要贵一些。