У меня есть динамическое содержимое плитки для отображения поверх карты (в частности, погодные изображения - радар, спутник, температура и т.д.). Я использую API Карт Google для Android v2.
Проблема, с которой я сталкиваюсь, заключается в том, что, по-видимому, единственный способ обновить изображения с черепицей (т.е. когда новые данные поступают или когда кадр продвигается в анимации с временной задержкой) заключается в вызове TileOverlay.clearImageCache. К сожалению, когда я это делаю, наложение на плитки мерцает на мгновение. Это связано с тем, что clearImageCache немедленно удаляет существующие изображения с экрана, но есть задержка, прежде чем он сможет декодировать и отображать новые изображения в виде плитки.
Я использую пользовательский TileProvider, который кэширует изображения с фрагментами, а не извлекает их с сервера каждый раз. Но даже когда он подает только кешированные фрагменты (т.е. Не существует значительной задержки, наложенной моей реализацией TileProvider.getTile), все еще достаточно задержки в процессе, когда пользователь может видеть мерцание.
Кто-нибудь знает, как избежать этого мерцания? Есть ли способ удвоить буфер наложения плитки? Я попытался удвоить буфер с двумя TileOverlays, прикрепленными к карте, одна из которых невидима. Но невидимый TileOverlay не начинает получать какие-либо фрагменты из моего TileProvider - даже после вызова clearImageCache.