Processing Bar waehrend App voll ausgelastet ist

  • Hallo ihr Lieben
    Ich habe folgendes Problem:
    Meine App berechnet etwas und ist dabei voll ausgelastet. Sol bleibt auch die Processing Bar stehen. Habt ihr eine Idee wie ich das loesen koennte? Versucht habe ich bisher AsynkTask.


    Mit freundlichen Gruessen
    Johannes

  • Das was hier in der Methode protected void onPreExecute() ausgefuehrt, laesst die App einfrieren, bis sie zuende gerechnet hat. Dann setzt die Processing Bar, aber an der Stelle als waehre sie die ganze Zeit gelaufen.

  • also ich würde sagen das du gar nicht zur Zeile 36 kommst und somit deinen Task startest.
    Die Abfrage nach der Permission ist bestimmt negativ.
    Ansonsten läuft eigentlich der Thread. Die Progressbar hast du bestimmt immer sichtbar im Layout.
    Wenn dem so ist musst du sie auch wieder unsichtbar machen .
    Ich blende das immer als Dialog ein und beende den Dialog in der onPostExecute .



    Was ist eigentlich das


    Code
    FFT_Finish.absolut();
    Read_In.target();
    Finish.compute(16000, 90880, FFT_Finish.output);


    Wenn das deine eigentliche berechnung ist gehört die in die on doInBackground .
    Die onPreExecute() läuft im UI Thread




    Zitat

    Das was hier in der Methode protected void onPreExecute() ausgefuehrt, laesst die App einfrieren

    Kein wunder die läuft im UI Thread der Thread ist die doInBackgound.


    https://www.big-app.de/asyncta…lastung-des-main-threads/

  • Vielen Dank. Das hat mir schonmal sehr geholfen. Das Problem ist jetzt noch, dass wenn ich dieses Berechnungen vor die for Schleife setze, die Process Bar erst anfaengt, wenn die Berechnungen fertig sind. Genau andersherum wenn ich sie hinter die for Schleife setze. ich moechte aber, dass sie gleichzeitig ablaufen, denn die Berechnung dauer ca. 10 Sekunden.


    MfG Johannes

  • Es war mir klar das du es selber bist.


    Ok dann versuche ich es mal.


    Also eigentlich ist das mit der for schleife , bestimmt nur ein Beispiel um einen thread eine Aufgabe zu geben.


    normalerweise solltest du in deinem zeitaufwendigen Code selber etwas finden was du als Status Anzeige verwenden kannst. zb bei einem Download die Menge der runtergeladen Daten. Um daraus den Fortschrittes Balken anzuzeigen.


    Die for Schleife brauchst du nicht ist mit sicherheit aus dem Beispiel das du zur Grundlage genommen hast.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!