Я обнаружил, что Google Map будет работать очень медленно, когда в приложении будет отображаться обмен сообщениями в стиле баннеров.Я думаю, что это проблема сочетания In App Messaging и Google Map SDK (см. Содержание ниже).
Наше приложение показывает Google Map (SupportMapFragment).Если над приложением отображается сообщение в стиле баннера.Перетаскивание карты становится слишком медленным.Это примерно 1-2 кадра в секунду.
Другие представления обрабатываются плавно, и в нашей деятельности достигаются события касания.Похоже, это происходит с комбинацией In App Messaging и Google Map.После этого я пытался выяснить, существует ли обходной путь, но этот, похоже, является проблемой с комбинацией с Google Map.
Если animateCamera и т. Д. Выполняется с DialogFragment на Google Map (MapView), обновление дисплея будеточень медленно.
Возможно, кажется, что MapView меняет поведение, вызванное потерей фокуса Window с помощью onWindowFocusChanged.(Частота кадров снижается, даже если DialogFragment появляется в таблице даже в баннере, отличном от сообщения в приложении)
Однако:
- В сообщении приложения указан тип баннера, вы можете использовать приведенный ниже экран.без стирания баннера.
- Когда Google Maps что-то сверху (чтобы снизить нагрузку на дисплей) сбрасывает частоту обновления экрана и т. д.
И я думаю, что это большая проблемачто направление интерфейса пользователя совпадает с тем, что предлагает ваша компания.
Вот некоторая информация о версии SDK разработчика.
-com.google.android.gms:play-services-maps:16.0.0
-Google Maps Android API: версия пакета служб Google Play: 14799037 -В приложении Message ver17.0.4
Действия по воспроизведению: очень легко воспроизвести эту проблему.
Создать новый проект (Google Maps Activity) в Android Studio https://developers.google.com/maps/documentation/android-sdk/start
Добавьте SDK Firebase In-App Messaging в проект https://firebase.google.com/docs/in-app-messaging/get-started
Получите идентификатор экземпляра вашего приложения и отправьте сообщение на тестирующее устройство
VIDЭО воспроизвести