Android Text zu Sprache ist sehr langsam zu initialisieren

Meine Bewerbung wird von Personen benutzt, die sehbehindert sind, so dass sie stark auf Text zu Rede stützt. Die Anwendung macht einen Anruf zu einer API und liest die Last (mit android.speech.tts.TextToSpeech) einige relevante Informationen für den Benutzer aus.

Alles funktioniert gut, außer ich habe bemerkt, dass manchmal die Initialisierung von Text zu Sprache 10 Sekunden oder mehr dauert und der größte Engpass meiner Bewerbung ist.

  • Wie kann ich eine Loop-4D-Matrix-Vektor-Multiplikation mit ARM NEON optimieren?
  • Android - footer scrollt den Bildschirm aus, wenn er in CoordinatorLayout verwendet wird
  • Injizieren von nicht-englischen Zeichen in Android
  • Wie können Sie sagen, wann ein Layout gezeichnet wurde?
  • Android studio 1.2 gradle ist sehr langsam
  • Identifizieren eines Datentyps einer Spalte in einem SQLite Android Cursor
  • Ich frage mich, ob jemand irgendwelche Ideen darüber hatte, wie ich meinen Code optimieren könnte, um dieses Problem zu mindern.

    Zuerst startet meine Anwendung eine Aktivität, um die TTS-Daten zu überprüfen.

    Intent checkIntent = new Intent(); checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); startActivityForResult(checkIntent, MY_DATA_CHECK_CODE); 

    Dann wird diese Methode mit dem Ergebnis der Aktivität aufgerufen. Je nach Ergebnis wird Text zu Sprache entweder nur initialisiert (das kommt fast immer vor) oder Text zu Sprache wird auf dem Gerät installiert (sehr selten).

      private TextToSpeech mTts; @Override protected void onActivityResult( int requestCode, int resultCode, Intent data) { if (requestCode == MY_DATA_CHECK_CODE) { if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { // success, create the TTS instance mTts = new TextToSpeech(this, this); } else { // missing data, install it Intent installIntent = new Intent(); installIntent.setAction( TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); startActivity(installIntent); } } } 

    Schließlich, wenn all dies vervollständigt meine Anwendung macht einen Anruf zu einer API und hat mehrere Zeilen wie folgt:

      mTts.speak("<Useful output here>", TextToSpeech.QUEUE_FLUSH, null); 

    Danke für die Hilfe!

  • SetRadius on Circle gibt schlechte User Experience in Google Maps
  • Android Einfache TextView Animation
  • Gradle-Fehler nach Studio-Update
  • Bekomme den aktuellen Standort schnell und einmal in Android
  • Suchansicht funktioniert nicht seit App compat
  • Fernbedienung Client für Android
  • One Solution collect form web for “Android Text zu Sprache ist sehr langsam zu initialisieren”

    Ein bisschen spät in den Tag, aber ich würde sagen, ist es einfach was los ist im Gerät. Andere Dinge mit höherer Priorität nehmen Prozessor Zeit. Ich denke, dass eine blinde Person würde nicht viele apps auf dort Gerät. Beachten Sie auch die Auto Start App. Um deine App automatisch zu starten.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.