Я реализую ленивое рисование наложений на основе текущего прямоугольника просмотра пользователя. Прямоугольник просмотра инициализируется на основе размеров карты следующим образом:
Rect viewRectangle = new Rect(0, 0, mapView.getWidth(), mapView.getHeight());
Благодаря отладке ширина и высота карты остаются неизменными (за исключением случаев, когда происходит изменение ориентации), за исключением первоначального создания карты, где размеры (ширина и высота) равны нулю.
К сожалению, несмотря на мои попытки удержать инициализацию до тех пор, пока не будут созданы все другие компоненты пользовательского интерфейса, я не могу найти подходящее место для создания прямоугольника просмотра. Я не хочу помещать инициализацию в отрисовку моих оверлеев, потому что теоретически неэффективно (с накладными расходами на выделение ресурсов и потенциально запускается сборка мусора) создавать эти временные объекты для каждого вызова отложенного рисования (запускаемого масштабированием, панорамированием и RESTful). данные обновляются).
Есть ли прослушиватель, который срабатывает, когда размеры карты отображаются из нулевого состояния? Я пробовал множество различных поисков, чтобы найти ответ и искал документацию для Android, но безрезультатно.
Любая информация приветствуется. Заранее спасибо.