Использование памяти BlackBerry - PullRequest
2 голосов
/ 30 января 2009

Я ищу несколько советов по использованию памяти на мобильных устройствах, в частности BlackBerry. Используя некоторые инструменты профилирования, мы рассчитали размер рабочего набора в оперативной памяти 525 КБ. Проблема в том, что мы не знаем, является ли это приемлемым или слишком высоким?

Может ли кто-нибудь рассказать о собственном опыте использования памяти в BlackBerry? К какому числу мы должны стремиться?

Мне также интересно, какие вещи мы должны искать, в частности, чтобы уменьшить использование памяти.

Ответы [ 2 ]

3 голосов
/ 30 января 2009

512 КБ вполне приемлемо для устройств BlackBerrys текущего поколения. Вы можете взглянуть на JBenchmark , чтобы увидеть точную кучу JVM, которую можно ожидать для каждой модели, но ни одно из существующих устройств там не ниже 20 МБ кучи. Большинство гораздо больше, чем это.

В JBenchmark вы можете выбрать интересующее вас устройство из выпадающего списка в правой части страницы. Затем перейдите на вкладку JVM для устройства.

Когда дело доходит до сокращения использования памяти, я не буду беспокоиться об общем количестве байтов, используемых для этого приложения, если вы действительно используете 525K, просто о том, как часто требуется распределение / перераспределение. Старайтесь максимально объединять / повторно использовать объекты, избегая ненужного выделения. Например, используйте класс StringBuffer для конкатенации строк вместо операторов, поскольку для каждой конкатенации будет создано несколько объектов String с использованием оператора, где StringBuffer просто помещает символы в массив и расширяется только при необходимости. Google - хороший способ найти больше советов.

Наконец, использование инструментов профилирования, которыми обладает BlackBerry JDE, является очень важной частью понимания того, как именно можно оптимизировать использование динамической памяти.

1 голос
/ 30 января 2009

Если я не ошибаюсь, приложения Blackberry написаны на Java ... это управляемая среда, что означает, что единственный надежный способ использовать меньше памяти - создавать меньше объектов. Я думаю, что с вашим рабочим набором не так уж много можно сделать, поскольку он управляется средой выполнения (что, вероятно, и является целью использования Java на подобных устройствах).

...