1. Критична потому что разместить нужно в точноопределенном месте, координаты которого стали дробными из-за того, что приложение растянулось на весь экран.
2. Некий коэффициент не предсказуем изначально, да и значение его будет невероятно огромным во многих случаях.
Александр Дорофеев: у меня вызывает диссонанс тот факт, что у Map у вас указывается в generic сначала ключ, а потом хранимое значение, а в HashMap полностью наоборот.
Спасибо за совет) Буду рад чему-то более конкретному) Каким образом это будет реализовано значения не имеет, важно чтобы мне удалось реализовать такую логику)
Чем второй вариант комфортнее, если в нем пользователю приходится сколько-то, но ждать перед каждой комнатой, а в первом только при генерации уровня?
По поводу времени между кадрами: создание двумерной матрицы интов, плюс кое-какие доп. операции по минимуму, не займут много времени.
И если уж с этим возникнет проблема, всегда можно генерировать комнату при входе не в нее, а в комнату перед ней.
LeEnot: у меня один mediaplayer на все песни (причина: 2000 песен = 2000 медиаплееров = RunOutOfMemoryException ).
Это не весь класс, а лишь тот его кусок, что был вам нужен.
Весь этот танец с бубном есть ни что иное, как способ получить длительность песни.
Есть же MediaMetadataRetriever, скажете вы. Увы, но с ним все еще более печально, чем с mediaplayer.
LeEnot: я делаю reset, чтобы сбросить все. Затем вновь указываю путь и готовлю (prepare) уже новый файл. Использую ту логику, что показана на данной диаграмме developer.android.com/intl/ru/reference/android/me... . Если что-то делаю не так, укажите более конкретно на мою ошибку, пожалуйста.
one pavel: оскорбить человека, это самое простое, а без этого общаться возможно?
1) Я точно знаю, что исключения в setDataSource по причине неверного пути не будет и ловлю его просто потому что его все равно нужно где-то ловить.
2) Я не представляю, на что может кидать исключение prepare, т.к. смена state'ов производится по таблице, которую дорогие гуглы сделали для таких ситуаций.
3) Понятия не имею, каким образом мне здесь может помочь prepareAsync, ведь мне нужно получить время сразу же, т.к. основной поток не ждет, он работает и ищет новые аудио файлы, для которых нужно будет запустить этот же конструктор. Если каждый раз в конструкторе вызывать Async, а таких файлов 1000, то будет полная вакханалия.
4) Что мне может дать OnErrorListener, если для меня это исключение является критическим и несовместимым с продолжением работы программы?
5) Буду благодарен, если вы дадите мне ссылку на этот гугловский. Глядишь и поможет.
2. Некий коэффициент не предсказуем изначально, да и значение его будет невероятно огромным во многих случаях.