java - 建议在移动设备上使用对象池 : evil on desktop,。这怎么可能?

标签 java android mobile object-pooling

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

桌面计算机与移动设备有何不同,以至于需要推荐不同的开发模式?可能的答案可能是

  • 对象池也让桌面应用程序运行得更好
  • 对象池实际上对 Android 应用程序没有帮助
  • Java SE 和 Android JVM 之间存在一些重要差异。
  • 不建议在桌面上使用对象池,因为使用它带来的好处不如移动应用程序带来的好处(但是,在某些情况下可能很好?)

最佳答案

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

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

关于java - 建议在移动设备上使用对象池 : evil on desktop,。这怎么可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23719332/

相关文章:

java - 4.0之前的旧版本android如何安全地存储密码、访问 token 等数据?

mobile - 如何创建带有正方形的响应式网格?

java - Android - Apache 公共(public)库和 Exchange Web 服务托管 API

android - android中的随机联系人

android获取屏幕大小包括状态栏和软件导航栏的大小

Android TextView 超链接

cordova - PhoneGap如何做到跨平台

java - 系统找不到指定的Java文件

java - JVM 垃圾收集 - 跟踪年轻一代中的 Activity 对象

java - 在java中获取环境变量的值?