Sklif, так объясни, почему когда эта прога занимает память, она выделяется, а когда память нужна другой проге, то нет? Память все равно, чем занимать, можно нужными данными, а можно мусором, как и делают все эти проги. Так не может быть, чтобы она сначала не выделялась, а потом вдруг бац! - и выделилась, когда еще раз занял. Если Heap уже не выделяется, то значит он достиг предела, и дальнейшее распределение объектов вызовет OutOfMemoryError. А если вдруг снова начал после достижения предела, то это уже, извините, баг JVM, не должно так быть, чтобы Heap не рос, когда он может. Лично я с этим не сталкивался, хотя проверял на разных прошивках, у меня стабильно выдедялось где-то 4-5 МБ, как оно и должно быть. Relikt, ну вот разве что. А в остальных случаях смысла в ней нет. Xodok тоже все правильно пишет.
Aleh63OO, от Memory up (я его имел в виду под Ram Booster) для обычного телефона пользы в общем нет, а насчет Cpu test - ИМХО, jBenchmark ACE безопасней (тела не вешает) и показательней
Sklif, твой случай можно объяснить тем, что для того,чтобы выделить Опере память ты её сначала свернул или минимизировал, чтобы открыть эту прогу- вот хип и появился
Xodok, не, я же писал, что заходил в уже запущенный АвтоХип через актив меню. Кстати,в мемори мднеджере когда я несколько раз резервирую память, то в мод ОМ(не подключен к инету, без всяких операций) свободный хип падает. Своими глазами видел как упал с 60 до 5%. А вы мне тут говорите что одно приложение на другое не влияет. И потом, все теоретические раскладки я понимаю. Против Malcolma приема нет:-). Но на практике, принудительное выделение мне помогает. JVM ведь не идеальна:-)
Sklif, вроде я понял, о чем ты: если запустить эту прогу, Minimize её через меню и запустить еще что-либо, то это пашет как склейка. Alloc не резервирует хип, он имитирует его загрузку приложением. если несколько раз добавить по 256, то Total растет, ява-машина выделяет. При Realloc загрузка убирается и Total тоже уменьшается до стандартных 1048 на приложение. Так что ничего впрок не запасается
Xodok, а это уже как раз от тела и проши зависит. Изначально у меня 1.5мб. На моём этот "прок" не сбрасывается. Вот и получается к примеру после выделения, всего 2,9 , свободно 1,8мб.
Вчера свернул оперу и запустил эту прогу. Опера показывала 14% свободного хипа. Нажал alloc, всего хипа стало 6 метров, опера написала что не хватает памяти. Нажал realloc, в опере стало 75% свободного хипа.
Да это-то верно, в JVM могут быть и баги. Но все-таки эти программы - скорее шаманские методы, нежели нормальное управление памятью. Вообще, на Java надо не памятью управлять, а сборщиком мусора. Даже на CLDC 1.1 уже можно это сделать так, чтобы сборщик решал, собирать или не собирать некоторые объекты при сборке. А про Java SE я вообще и не говорю. Но памятью нигде не управляют, этим должна заниматься JVM. На C#, кстати, все то же самое, поскольку там все тоже основано на сборке мусора.
22 мая 2008 в 14:25