Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对象阵列移动开发_Java_Android - Fatal编程技术网

Java 对象阵列移动开发

Java 对象阵列移动开发,java,android,Java,Android,我目前正在为android创建一个基于平铺的游戏。通过dalvik JVM使用java。我为在特定地图中表示对象的决定而烦恼。我应该使用基于id的映射(二维整数数组)并将游戏逻辑放在游戏引擎中的单独函数中,还是创建一个对象数组(游戏对象的二维数组)并将游戏逻辑存储在类方法中。我考虑的是对象创建和垃圾收集的成本与可扩展性的对比。如果您关心内存分配和释放的成本(对于游戏,您应该这样做),请尽可能减少应用程序的动态内存需求 逻辑附加到哪个类并不重要;这将由你来定义什么是最简单的。不过,这与内存需求是分

我目前正在为android创建一个基于平铺的游戏。通过dalvik JVM使用java。我为在特定地图中表示对象的决定而烦恼。我应该使用基于id的映射(二维整数数组)并将游戏逻辑放在游戏引擎中的单独函数中,还是创建一个对象数组(游戏对象的二维数组)并将游戏逻辑存储在类方法中。我考虑的是对象创建和垃圾收集的成本与可扩展性的对比。

如果您关心内存分配和释放的成本(对于游戏,您应该这样做),请尽可能减少应用程序的动态内存需求

逻辑附加到哪个类并不重要;这将由你来定义什么是最简单的。不过,这与内存需求是分开的;我不认为对象中的功能数量对分配性能有太大的影响

就其价值而言,我认为2D整数数组可能是一种很好的方法,您甚至可以将对象保留为对象;只需创建一个对象数组,在需要更改时可以轻松地重用,并将其标记为“未使用”。然后您就不必担心内存分配器(由于可能需要从其他应用程序回收资源,Android上的内存分配器可能会变慢)