2009-01-30 226 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