Google Maps Android API v2 bloque le thread UI

Intérieur FragmentActivity Je remplace Fragment qui contient onglet TabPageIndicator (2 onglets à l'intérieur).

Premier onglet – Fragment avec Description.
Deuxième onglet – Fragment avec carte à l'intérieur + marqueurs!

  • Partage de fichier texte à l'aide de ACTION_SEND
  • ListView OnItemLongClickListener () non déclenché
  • Quelle est la valeur entière qui donne au récepteur de diffusion la plus haute priorité?
  • AndroidStudio me dit que mon émulateur n'est pas compatible avec mon projet, pourquoi, si l'émulateur est api10 et le projet est api3?
  • Comment utiliser l'accéléromètre pour mesurer la distance pour le développement d'applications Android
  • Connexion automatique Bluetooth avec périphériques appariés
  • Lorsque je démarre FragmentActivity, la pause est proche 3-8 sec (dépend des performances du téléphone).

    Raison – rendu de la carte.

    Comment puis-je accélérer le lancement?


    FragmentStatePagerAdapter

    @Override public Fragment getItem(int position) { switch (position) { case 0: return new Fragment1(); case 1: return new Fragment2(); } return null; } 

    Fragment2

     @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.i(Util.TAG, getClass().getName() + " onCreateView"); if (view != null) { ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) parent.removeView(view); } try { view = (ViewGroup) inflater.inflate(R.layout.map_view, container, false); } catch (InflateException e) { } setUpMapIfNeeded(); return view; } public void setUpMapIfNeeded() { if (map == null) { SupportMapFragment mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map); map = mapFragment.getMap(); if (map != null) { setUpMap(); } else { Toast.makeText(getActivity(), "Unable to create map", Toast.LENGTH_SHORT).show(); } } } private void setUpMap() { map.setMyLocationEnabled(true); map.addMarker(new MarkerOptions().position(KIEV).title("Kiev").snippet("Ukraine"));// .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher)) map.moveCamera(CameraUpdateFactory.newLatLngZoom(KIEV, 15)); map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); map.setOnMapLoadedCallback(this); } 

    J'ai essayé de commenter tout sauf ceci:

     view = (ViewGroup) inflater.inflate(R.layout.map_view, container, false); 

    Mais le résultat est le même. L'initialisation de la carte est trop longue.

    Devrais-je utiliser un thread séparé pour charger la vue de la carte? (Si oui, comment puis-je obtenir un flotteur de mise en page et un conteneur en fil d'arrière-plan)

    Je décide également de charger la carte si le fragment est visible, mais ce n'était pas une bonne idée.

  • Suppression de l'ombre inférieure sur ActionBar - Android
  • Android Studio XML ne reconnaît pas objectAnimator
  • Comment faire pour que le nouveau NavigationView joue bien avec la barrière de barre d'état?
  • Quels sont les caractères autorisés dans les noms de fichiers sur Android?
  • Rendre les fichiers epub dans Android
  • Comment construire une impulsion pour Android comme bibliothèque partagée avec support c ++ 11
  • coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.