1

我曾经阅读过各种博客和建议,认为池化普通 Java 对象(而不是连接等对象)不会提高并且实际上可能会降低性能,这是一种反模式。然而,这在 Android 平台上并不常见,例如,许多游戏库都提供了用于重用现有对象的类。现在我读到对象池减少了垃圾收集周期的数量,提高了性能。

台式计算机与移动设备有何不同,以至于建议采用不同的开发模式?可能的答案可能是

  • 对象池还使桌面应用程序运行得更好
  • 对象池实际上对 Android 应用程序没有帮助
  • Java SE 和 Android JVM 之间有一些重要的区别。
  • 不建议将对象池用于桌面,因为使用它带来的好处比它为移动应用程序带来的好处少(但确实如此,在某些情况下可能很好?)
4

1 回答 1

1

Android 与 oracle Java 不同,您所问的是由于底层虚拟机具有非常不同的特性。

本质上,Hotspot JVM 使用大量内存来提高速度。Android 硬件很少允许这样做,因此在 android 上制作对象比在 oracle java 上要昂贵得多(而且显然反射也很慢)。

于 2014-05-18T06:58:18.063 回答