所以,我在阅读这篇文章:http://www.ibm.com/developerworks/java/library/j-jtp09275/index.html时,看到了这句话:"公共服务公告:对象池现在对于除了最重量级的对象外都是严重的性能损失,即使针对这些对象,不引入并发瓶颈也很棘手。" 我原封不动地接受了这个说法。该文章讨论了分代 GC、释放、线程本地分配和逃逸分析。
然而,我脑海中突然有一个小声音问我:“但是这是否适用于 Android 中垃圾收集器的实现?”我不知道答案。我甚至不知道如何找到答案。
我记得在我的 Android 应用中为经常使用的小对象实现对象池后,垃圾收集器运行的次数较少。不确定是否意味着更快的应用程序... 此外,GC 在没有对象池的情况下更频繁地运行(根据 logcat),因此我认为 Android 的 GC 实现输给了对象池.. 但这个假设几乎没有依据,因为我没有注意到使用或不使用对象池会有显著的性能差异。
那么,这里是否有人知道对象池对于经常使用的小对象是否比 Android 的 GC 更有效?