Ваш мидлет создается только один раз. Вид.
Среда выполнения MIDP, вероятно, не позволит вам запустить один и тот же мидлет вдвое дольше, чем он уже запущен.
Если вы выходите из мидлета, счетчик возвращается к 0, поскольку он все еще находится в оперативной памяти и процесс виртуальной машины Java завершается.
На некоторых телефонах Nokia series40 процесс JVM никогда не прерывается, поэтому вы можете использовать это, чтобы показать, сколько раз был создан мидлет с момента последнего включения телефона.
Статические переменные хранятся в объекте Class в памяти JVM. Чтобы понять, что вы можете хранить в статической переменной, вы должны понимать загрузку классов (и обычное отсутствие поддержки выгрузки классов в J2ME).
Я бы предложил переместить counter++;
в startApp()
, как его можно вызывать каждый раз, когда мидлет выводится на передний план.
Это также позволит вам сохранить счетчик в записи RMS для дополнительной точности.