Ich habe eine Anwendung erstellt und innerhalb onCreate Methode ich 16 verschiedene Soundpools laden. Alles funktioniert gut, aber es beginnt sehr langsam. Ich meine, nachdem ich auf ein App-Symbol geklickt habe, passiert für ca. 3 Sekunden nichts, dann beginnt meine Aktivität. Wie man eine Ladebenachrichtigung erstellt, die zuerst nach einem Klick auf das Symbol beginnt und sich dann versteckt, wenn alle Soundpools bereit sind. Vielen Dank für Ihre HilfeSoundpool onloadcomplete Benachrichtigung
2
A
Antwort
1
Sie können den SoundPool in einem Hintergrundthread initialisieren, und wenn Sie dies in eine AsyncTask umbrechen, können Sie in AsyncTask.onPreExecute einen ProgressDialog anzeigen und das Dialogfeld in AsyncTask.onPostExecute schließen. Auf diese Weise blockieren Sie nicht in onCreate und Ihre Aktivität muss nicht warten, bis die Sounds geladen sind, um die Benutzeroberfläche anzuzeigen.
Verwandte Themen
- 1. Wie können SoundPool-Objekte ordnungsgemäß freigegeben werden?
- 2. Android: Aufnahme SoundPool Ausgabe
- 3. Soundpool oder Media Player?
- 4. Abspielen Sound mit Soundpool Beispiel
- 5. Hinzufügen von ClickEvent auf dynamischen LinkButtons in OnLoadComplete
- 6. Wie man Sounds mit SoundPool synchronisiert
- 7. und wieder über Speicherprobleme mit SoundPool
- 8. Android SoundPool schneiden Sound-Datei kurz
- 9. Android SoundPool protokolliert Informationen als Fehler
- 10. Soundpool vs Mediaplayer zum Abspielen mehrerer Soundeffekte
- 11. Problem mit Soundpool und Samsung Galaxy S
- 12. Soundpool nicht Looping in Android 4.3
- 13. Richtiger Weg, einfach eine mp3-Sounds als Benachrichtigung zu spielen
- 14. Soundpool spielt nur die ersten 5 Sekunden der Datei. Warum?
- 15. Android, Soundpool-Klasse - Autopause Probleme beim Schleifen Sound
- 16. AudioTrack, SoundPool oder MediaPlayer Was soll ich verwenden?
- 17. Stromvolumens in Soundpool vs Volumen in Audio-Manager
- 18. Unterschied zwischen Push-Benachrichtigung und Pull-Benachrichtigung?
- 19. benutzerdefinierte Benachrichtigung
- 20. Persistente Benachrichtigung
- 21. Stille Benachrichtigung
- 22. Firebase-Benachrichtigung
- 23. iphone Benachrichtigung
- 24. Welchen Namen soll das Page OnLoadComplete-Ereignis haben, damit es automatisch verkabelt wird?
- 25. Wie kann ich Mediaplayer Geschwindigkeit für api weniger eingestellt dann 23
- 26. Lokale Benachrichtigung überschreiben Remote-Benachrichtigung (Actionable Benachrichtigung) Einstellung in iOS 9?
- 27. Senden Sie Vorlage Push-Benachrichtigung mit azurblauen Benachrichtigung hub
- 28. reagieren-Native-Onesignal erhalten Push-Benachrichtigung ohne Öffnen der Benachrichtigung
- 29. Benachrichtigung jeden Tag zu bestimmter Zeit, keine Benachrichtigung
- 30. Wie man kontinuierliche Benachrichtigung vermeidet, wenn Benachrichtigung geklickt wird
Danke für die Antwort, haben Sie einige Links, wo es gezeigt wird, wie man das macht? – user1275995
Es gibt Unmengen von Beispielen hier auf SO und anderswo im Internet. AsyncTask mit einem ProgressDialog ist eine sehr häufige Sache. Google "asynctask progressdialog" und Sie werden eine Menge Beispiele sehen. Sie können Ihre AsyncTask mit Void für alle drei generischen Argumente machen (AsyncTask) und tun Sie einfach Ihre Soundpool-Initialisierung in AsyncTask.doInBackground –
Rich
Danke für die Antwort – user1275995