LPzhelud, да зачем использовать исключительно слабые ссылки? Используются и те, и другие. У меня, если не ошибаюсь, в библиотеке для работы с GIF был код, который при открытии кадра не только возвращает изображение, но и сохраняет его в слабой ссылке. Пока изображение где-то в программе еще используется, оно останется закэшированным, и можно будет обращаться за ним туда же. А если оно перестанет где-либо использоваться, следующая же сборка мусора все это дело соберет. Правда, тут SoftReference подошли бы лучше, но их, увы, нет.
WeakHashMap удобно использовать, если нужно ассоциировать какую-то информацию с объектом, которая станет ненужной, если объект перестанет использоваться. Объект используется как ключ, а информация - как значение. Если объект перестает использоваться в программе, то запись автоматически исчезает.
Ссылка на пост
24 июл 2011 в 16:52
waper.ru/file/1698139/download/873e0a65ce04e2c5ab5/engine3d_1.1.rar
реал тайм игру конечно не сделаеш т.к. из-за буфера глубины сильно тормазит и много памяти на него уходит, но какой-то квест с тайловым уровнем можно сделать. хотя даже для таких игр как doom rpg буфер глубины не нужен. Да и формат нужен свой, чтобы меньше размер был. Вообщем как пример этот движок хорош. Для создания игр он не очень подходит.