我阅读了许多关于如何通过减少回收未使用对象和堆抖动的 GC 工作来提高 Android 应用程序性能的文章。现在问题来了:
1) 是否可以减少 GC 所做的工作?
2) 有人说 DVM GC 非常高效,试图“解决”它的性能特征只会让事情变得更糟。
因此,“解决方法”可能是创建固定大小的对象池,在创建池时预先分配对象。当应用程序需要一个对象时,它会从池中请求而不是创建对象。
然后,我在android中遇到了support.v4
库中的一个类Pools.SynchronizedPool我认为它可以代替以前的 ObjectPool 设计模式来达到目的。
但是,现在如何在我简单的 Android 应用程序中使用它来测试性能。
最佳答案
你应该使用对象池来减少 GC,你可以这样使用它 https://github.com/ChenQingZhen/AndroidObjectPool
关于java - 在 Android 中创建简单的对象池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506573/