Как хранить большую карту j2me - PullRequest
0 голосов
/ 12 апреля 2011

Мне нужно создать битовую карту 3000x3000 для координат моих роботов.В теории у меня есть массив MxM, M = 3000, и если мой робот что-то видит, то в примере с [5] [5] я ставлю 1, если ничего не вижу, то 0.

  1. Когда я попытался создать int[][] b = new int[3000][3000] У меня возникла проблема - вне памяти.

  2. Я пытался использовать RMS, но могу создать 3000 строк, но только 50 столбцов

  3. Я думаю использовать textfile, но мне нужно пользовательское обновление, и я очень тяжело работаю с textfile в j2me.

Спасибо за ответ!

1 Ответ

0 голосов
/ 09 мая 2011

Некоторые подходы:

  • Сохраните ваши координаты в файле и загружать и обновлять только те строки / столбцы данных в память, которые окружают робота (может быть Матрица 10х10). Буферизация.
  • Используйте алгоритм quadtree для хранения ваши координаты. Возможно, вам придется использовать внешний файловый подход здесь тоже, но, может быть, вы можете придумать что-то лучше.
...