Я создал приложение, которое показывает некоторые точки на карте с помощью com.google.android.gms.maps.MapView. Приложение отлично работает на большинстве устройств, но у меня есть странное поведение с OnePlus 6 (Andorid 9) и Google Pixel 2 (Andorid Q). Я протестировал его на паре OnePlus 6 (тот же Andorid 9) и работает нормально, поэтому проблема возникает только на определенных устройствах.
ПРОБЛЕМА: Activity с картой перезапускается в бесконечном цикле без сбоев.
Мой код, связанный с логикой карты:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivityBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
//...
onInitMap(savedInstanceState);
}
private void onInitMap(Bundle savedInstanceState) {
mapView.onCreate(savedInstanceState);
// needed to get the map to display immediately
mapView.onResume();
try {
MapsInitializer.initialize(MainActivity.this);
} catch (Exception e) {
e.printStackTrace();
}
mapView.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mGoogleMap = googleMap;
//listen camera moved and stop - when stop then get http data for coordonates and range
mGoogleMap.setOnCameraIdleListener(MapActivity.this);
mGoogleMap.setOnMapClickListener(MapActivity.this);
//setup cluster logic
mClusterManager = new ClusterManager<SalonMarkerMetaDataObj>(this, mGoogleMap);
mSalonMarkerRenderer = new SalonMarkerRenderer(MapActivity.this, mGoogleMap, mClusterManager);
mClusterManager.setRenderer(mSalonMarkerRenderer);
mGoogleMap.setOnMarkerClickListener(mClusterManager);
mGoogleMap.setOnInfoWindowClickListener(mClusterManager);
mClusterManager.setOnClusterClickListener(this);
mClusterManager.setOnClusterItemClickListener(this);
}
нет, пользователи сообщили об этом поведении. У меня нет доступа к этим устройствам, но Crashlytics не сообщает о сбоях
Вы получили что-нибудь в журналах или где-либо еще?