java - 在 Android 中创建简单的对象池

标签 java android performance design-patterns

我阅读了许多关于如何通过减少回收未使用对象和堆抖动的 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/

相关文章:

asp.net - 您如何分析生产 ASP.NET 应用程序?

performance - paper.js 中的 svg 导出非常慢

Java UTF-16LE 奇怪的错误困扰了我的教授

java - PDFBox:PDDocument 和 PDPage 是否相互引用?

java - Java 中返回范围内找到的第一个奇数的方法

android - 禁止导入 Crashlytics

android - API 21 状态栏后面的工具栏

java - Jackson:接受任何 json 的属性

android - 切换到轴控件到屏幕按钮控件时动画不起作用

c# - ~1 秒 TcpListener Pending()/AcceptTcpClient() 滞后