2

我正在寻找一些关于移动设备内存使用的建议,尤其是黑莓。使用一些分析工具,我们计算出 RAM 中的工作集大小为 525kb。问题是我们真的不知道这是可以接受的还是太高了?

任何人都可以深入了解他们自己在黑莓上的内存使用经验吗?我们应该瞄准什么样的数字?

我也想知道我们应该特别注意哪些事情来减少内存使用。

4

2 回答 2

3

512KB 在当前的黑莓设备上是完全可以接受的。您可以查看JBenchmark以了解您可以为每个模型所期望的确切 JVM 堆,但目前没有任何设备低于 20MB 的堆。大多数都比这大得多。

在 JBenchmark 上,您可以从页面右侧的下拉列表中选择您感兴趣的设备。然后,导航到设备的 JVM 选项卡。

在减少内存使用方面,如果您真正内联 525K,我不会担心此应用程序使用的总字节数,而只需考虑分配/重新分配的频率。尽量池化/重用对象,避免任何不必要的分配。例如,使用 StringBuffer 类而不是运算符来连接字符串,因为将使用运算符为每个连接创建多个 String 对象,其中 StringBuffer 只会将字符放入数组中,并且仅在需要时扩展。谷歌是查找更多提示的好方法。

最后,依靠 BlackBerry JDE 拥有的分析工具是准确了解如何优化堆内存使用的非常重要的部分。

于 2009-01-30T18:59:46.927 回答
1

如果我没记错的话,黑莓应用程序是用 Java 编写的……这是一个托管环境,这意味着使用更少内存的唯一可靠方法是创建更少的对象。我认为,你对工作集无能为力,因为它是由运行时管理的(这实际上可能是在这样的设备上使用 Java 的重点)。

于 2009-01-30T16:31:00.720 回答