2009-01-30 180 views
2

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

任何人都可以透露他们自己的黑莓手机内存使用体验吗?我们应该瞄准什么样的数字?

我也想知道我们应该特别寻找哪些东西来减少内存使用量。

回答

1

如果我没有弄错,黑莓应用程序是用Java编写的......这是一个托管环境,这意味着使用更少内存的唯一可靠途径就是创建更少的对象。由于它是由运行时管理的(实际上这可能是在像这样的设备上使用Java的点),所以对于您的工作集没有太多的工作可做。

3

512KB完全可以接受目前这一代的黑莓设备。你可以看看JBenchmark来查看每个模型的确切的JVM堆,但是当前没有的设备会低于20MB的堆。大部分都比那大得多。

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

当涉及到减少内存使用情况时,如果您真的与525K内联,则不必担心此应用程序使用的总字节,而只需要多长时间分配/重新分配。尝试尽可能地汇集/重用对象,避免任何不必要的分配。例如,使用StringBuffer类连接字符串而不是运算符,因为将使用运算符为每个连接创建多个String对象,其中StringBuffer只会将字符放入数组中,并且只在需要时才展开。 Google是找到更多提示的好方法。

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

+0

感谢一些有用的评论佛斯塔。我想指出的一件事情是,在很多情况下,编译器会将字符串连接转换为StringBuffer,我经常发现调试器进入了StringBuffer方法,其中没有任何代码存在于我自己的代码中。 – roryf 2009-01-30 19:15:13