Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Минимальный размер памяти 
:(
    Опции темы
GhostMasterNet
Дата 13.8.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



Нужна информация о минимальном размере оперативной памяти, поддерживаемой большинством мобильных телефонов.
PM MAIL   Вверх
GhostMasterNet
Дата 13.8.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



У меня появилась информация - 1МБ. 
Но, возможно, это не точно.
PM MAIL   Вверх
olegrolik
Дата 13.8.2007, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Конфигурация CLDC (а на сколько я знаю, это почти все мобилы) рассчитана на мобилы у которых памяти от 160 до 512 килобайт, для всей платформы Java 2 ME. Это написано в книге Горнакова "Программирование мобильных телефонов на Java2ME".
PM MAIL   Вверх
javastic
Дата 14.8.2007, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



А если мы вспомним про heap то и того меньше 48 -64 Kb


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
GhostMasterNet
Дата 20.8.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



При использовании TiledLayer создаётся карта картинок. 
Простая загрузка такой карты в моём случае занимает примерно 500 кб ОП.
Это не считая вспомогательных классов. 
Всего игра ест 1Мб. 
Я так понял, перспективы довольно плачевные. 
Подскажите, как можно оптимизировать.
PM MAIL   Вверх
W0LF
Дата 20.8.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



все картинки сразу тебе не нужны..
очищай периодически память, точней обнуляй ссылки, не используй принудительного вызова System.gc();
если надо быстродействие - переделай все циклы на убывание, ибо -- работает быстрее чем ++
в циклах желательно делать не проверку, а бросать исключение. Используй стрингбуффер. для игрухи желательно поменьше паттернов и поменьше классов, ибо много классов жрут память.
Так же желательно использовать двойную буфферизацию, если телефон ее автоматом не поддерживает
Но это все если ты пишешь для слабеньких телефонов smile
Щас они посильнее стали smile


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
javastic
Дата 20.8.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



W0LF, что-то мне это напоминает ;)))))


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
W0LF
Дата 20.8.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



javastic, нипомню smile


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
tanderbold
Дата 20.8.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 23.5.2007

Репутация: нет
Всего: нет



если есть большие картинки - например фоновая, возможно имеет смысл разбить её на несколько маленьких и перерисовывать только те которые меняются. Также нужно постараться избавится от выделения памяти в циклах и часто выполняющихся функциях. Также необходимо постараться уменьшить число временных объектов. Вот. )
PM MAIL   Вверх
GhostMasterNet
Дата 21.8.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



Этот форум - просто супер! 

Спасибо всем! Особенно тебе, Wolf. 

Интересно, что убывающие циклы работают быстрее, чем возрастающие.  
Наверно, это из-за того, что процессор сравнение с нулём выполняет быстрее.

Wolf, объясни, пожалуйста, почему 
Цитата

в циклах желательно делать не проверку, а бросать исключение


PM MAIL   Вверх
W0LF
Дата 21.8.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Вообще, как многие говорят - с точки зрения ООП это очень некрасиво smile и так оно и есть, но если нужна оптимизация, то что ж поделаешь
На самом деле бросить исключение занимает много времени.

Цитата(GhostMasterNet @  21.8.2007,  14:55 Найти цитируемый пост)
Wolf, объясни, пожалуйста, почему 
Цитата

в циклах желательно делать не проверку, а бросать исключение

возьмем пример :
Код

        int [] array = new int[429999];        
        
        
        try {
            for (int i = 0; ; i++) {
                array[i] = 0;
            }
        } catch (ArrayIndexOutOfBoundsException aioobe) {
            
        }        
                
        
        for (int i = 0; i < 4299; i++) {
            array[i] = 0;
        }

просто во втором случае идет две проверки, первая на то, что нужно бросить исключение, а вторая то, что  i < 4299, а в первом случае только одна smile
но эт догадки ;)        
        
        

Это сообщение отредактировал(а) W0LF - 21.8.2007, 17:03


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
GhostMasterNet
Дата 21.8.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Илья
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 6.9.2006

Репутация: 3
Всего: 3



Интересный подход. Спасибо, Wolf.

Кстати, только что нашел ещё одну фишку. Для тех, кто столкнётся с этой проблемой.
Нужно использовать GameCanvas  как можно  меньше, так как в него встроены всякие навороты, например, двойная буфферизация. 

Для промежуточных экранов, таких, как меню, заставок, лучше юзать Canvas. Памяти жрёт меньше. 

Сам только нашёл в WTK2.5.1 отладчик крутой. Профилер, и всякую другую ерунду, помогующую при рутине.
В KToolbar в Preferences есть настройки, с помощью которых можно включать разные мониторинги.

PM MAIL   Вверх
VKoresh
Дата 17.10.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 14.6.2007
Где: Запорожье

Репутация: 1
Всего: 1



Сам столкнулся с проблеммой оптимизации. И нашел весьма полезным информацию Wolf'a и
GhostMasterNet'a. Спасибо, почерпнул много полезного!

PM MAIL ICQ   Вверх
dosj2me
Дата 19.10.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



Для тех кто пишет замысловатый ИИ и хочет чтобы противников было много, пользуйтесь потактовым просчетом ИИ, т.е. для каждого противника свой такт.
Пример:
//определение тактов(для 30 противников)
for(int i=0;i<=30;i++)
{Takt[i]=i;}
int tekTakt=0;

//просчет ИИ
{
for(int i=0;i<=30;i++)
{if(tekTakt%31==Takt[i])//вычисления     % - для расширения числа тактов, если нужно выполнять редкое действие, используя тот же счетчик
}
tekTakt++;
}

бла бла бла))) мож кому поможет
PM MAIL   Вверх
Arahnus
Дата 18.11.2009, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 12.5.2009

Репутация: нет
Всего: нет



А как проверить доступную оперативную память для работы?

Если будет нехватка памяти то программа может встать и надо точно знать на что можно расчитывать.

Добавлено через 1 минуту и 23 секунды
Есть ли свойства окружения для проверки оп. памяти?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1904 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.