App startet nicht mehr Fatal Exception

  • Antworten:95
André
  • Forum-Beiträge: 53

07.03.2014, 00:17:17 via Website

Sekunde, ich lade das komplette Projekt so wie es jetzt ist mal hoch da ich nicht immer am Rechner bin :)

Antworten
André
  • Forum-Beiträge: 53

07.03.2014, 00:27:19 via Website

Hier ist das Projekt :

lazydragons2.zip

Ich frag mich gerade warum das 22 MB sind..

Vielleicht kann ja mal jemand reingucken..

— geändert am 07.03.2014, 00:28:13

Antworten
Andreas S.
  • Forum-Beiträge: 76

07.03.2014, 00:28:42 via Website

Naja allein das Bild dass du laden willst wo der Fehler auftritt hat schon wie gesagt 3,51 MB

Antworten
André
  • Forum-Beiträge: 53

07.03.2014, 00:31:18 via Website

Kein wunder hab auch noch 2 apk datein mit hochgeladen..

Antworten
André
  • Forum-Beiträge: 53

07.03.2014, 00:32:30 via Website

Ich weiß nur nicht welches Bild gemeint ist

Antworten
Andreas S.
  • Forum-Beiträge: 76

07.03.2014, 00:43:19 via Website

Der Stacktrace bedeutet:

In deiner Klasse GameOverActivity wird in der Methode "onCreate" die Methode "setContentView" aufgerufen.
Dadurch wird versucht das Layout für die Activity zu erstellen.
Beim Erstellen dieses Layouts tritt in Zeile 2 der XML-Datei dieser Fehler auf wie Alex gepostet hat:

11java.lang.RuntimeException: Unable to start activity ComponentInfo{com.crazy.lazydragon/com.crazy.lazydragon.GameOverActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class

Also schaust du in der GameOverActivity welche XML-Ressource du bei dem Aufruf von setContentView übergibst
und schaust nach was in dieser XML-Datei in Zeile 2 steht...

Antworten
André
  • Forum-Beiträge: 53

07.03.2014, 00:58:08 via Website

Ok danke dir mach ich morgen :)

gute nacht erstmal:)

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.640

07.03.2014, 01:05:51 via App

Ich hab mir mal die Xml angeschaut. Es gibt da einen Fehler, weil versucht wird aus bin/res/crunch Ressourcen zu laden. Dieser hat aber nichts als die dpi-ordner.
K.p. wie der Screen trotzdem vollständig geladen wird.

Ich sammle gerne Namen in meinem Death Note.

Samsung Galaxy Note 2<3 -> Samsung Galaxy Note 3 <3

Antworten
Tausendsturm
  • Forum-Beiträge: 19

11.06.2014, 15:46:17 via Website

Ich habe das selbe Problem wie er, bzw. bei mir wirft die selbe Zeile eine NullReferenceException aus. Allerdings nur wenn der Bildschirm ausgeschaltet wird. Diese Catche ich derzeit, dadurch stürzt nicht mehr das Spiel ab, die GameView Klasse wird nur resettet.
Der Code den er gepostet hat, war auch ziemlich ähnlich. Jedenfalls in den wichtigen Punkten. Leider habe ich nur das Problem mit dem Callback gar nicht drin.

public Sprite(GameView theGameView, Bitmap bmp) bzw. Sprite sprite = new Sprite(this, bmp);

Ich habe alles versucht was mir eingefallen ist, aber es hilft alles nicht. :(
Ich hoffe, ihr könnt auch mir helfen. ;)

Antworten
Georg C.
  • Forum-Beiträge: 235

11.06.2014, 19:22:04 via Website

Hallo,
wende sich bitte einfach an den Autor selber und frage den um Rat.
Verstehe nicht, warum Ihr wendet sich nicht direkt an den.

Meine wenigkeit ist der Meinung, dass entweder der "repariert" selbst sein Tut, oder .... er übernimmt den Support.

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

11.06.2014, 19:25:10 via Website

Ich habe den Code nicht von dem besagten Tutorial!

Antworten
Georg C.
  • Forum-Beiträge: 235

11.06.2014, 20:21:28 via Website

... Ich habe das selbe Problem wie er, bzw. bei mir wirft die selbe
Zeile eine NullReferenceException aus...

ok - sorry

Sorry für Gramatik & Stilistik Fehler.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

11.06.2014, 20:32:00 via Website

Dann Poste mal mehr vom Code + LogCat (d.h. die Genaue Exception + Zeile

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tausendsturm
  • Forum-Beiträge: 19

11.06.2014, 22:15:09 via Website

Wie gesagt, der GameLoopThread ist der selbe:

public class GameLoopThread extends Thread {
    static final long FPS = 20;
    private GameView theView;
    private boolean isRunning = false;

    public GameLoopThread(GameView theView) {
        this.theView = theView;
    }

    public void setRunning(boolean run) {
        isRunning = run;
    }

    @SuppressLint(&quot;WrongCall&quot;)
    @Override
    public void run() {
        try {
            long TPS = 1000 / FPS;
            long startTime, sleepTime;
            while (isRunning) {
                Canvas theCanvas = null;
                startTime = System.currentTimeMillis();
                try {
                    //Fehler:
                    theCanvas = theView.getHolder().lockCanvas();
                    synchronized (theView.getHolder()) {
                        theView.onDraw(theCanvas);
                    }
                } finally {
                    if (theCanvas != null) {
                        theView.getHolder().unlockCanvasAndPost(theCanvas);

                    }
                }
                sleepTime = TPS - (System.currentTimeMillis() - startTime);
                try {
                    if (sleepTime &gt; 0)
                        sleep(sleepTime);
                    else
                        sleep(10);
                } catch (Exception e) {

                }
            }
        } catch (Exception e) {

        }
    }
}

Die in der GameView wichtigen Funktionen:

public GameView(Context context) {
[...]
theGameLoopThread = new GameLoopThread(this);
        surfaceHolder = getHolder();
        surfaceHolder.addCallback(new SurfaceHolder.Callback() {

            public void surfaceDestroyed(SurfaceHolder holder) {
                theGameLoopThread.setRunning(false);
                boolean retry = true;
                while (retry) {
                    try {
                        theGameLoopThread.interrupt();
                        theGameLoopThread.join();
                        retry = false;
                    } catch (InterruptedException e) {
                    }
                }

            }

            @SuppressWarnings(&quot;static-access&quot;)
            public void surfaceCreated(SurfaceHolder holder) {
                theGameLoopThread.setRunning(true);
                if (theGameLoopThread.getState() == theGameLoopThread
                        .getState().NEW) {
                    theGameLoopThread.start();
                }
            }

            public void surfaceChanged(SurfaceHolder holder, int format,
                    int width, int height) {
            }
        });

public void pauseThread() {
        if (theGameLoopThread != null)
            theGameLoopThread.setRunning(false);
    }

    public void resumeThread() {
        theGameLoopThread = new GameLoopThread(this);
        theGameLoopThread.setRunning(true);
        theGameLoopThread.start();
    }

In der GameActivity:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        theGameView = new GameView(this);
        setContentView(theGameView);
        dialog = new Dialog(this,
                android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
        dialog.setContentView(R.layout.pausescreen);
        dialog.hide();
        dialog.setOnDismissListener(this);
        mpPoint = MediaPlayer.create(this, R.raw.point);
        mpMinusPoint = MediaPlayer.create(this, R.raw.minuspoint);
        mpBomb = MediaPlayer.create(this, R.raw.bomb);
        mpItem = MediaPlayer.create(this, R.raw.item);
        mpBackground = MediaPlayer.create(this, R.raw.pianist);
        mpBackground.setLooping(true);
        setBackgroundImageState();
        initialize();
        if (soundToggleState) {
            playBackgroundSound();
        }
    }

    @Override
    protected void onPause() {
        super.onPause();
        theGameView.pauseThread();
        firstStart = false;
        if (mpBackground != null) {
            mpBackground.release();
        }
        if (onPauseSecondTime == false) {
            starttime = System.currentTimeMillis();
            onPauseSecondTime = true;
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        theGameView.pauseThread();
        dialog.dismiss();
        mpPoint.release();
        mpBomb.release();
        mpItem.release();
        mpMinusPoint.release();
    }

    @Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (!firstStart) {
            dialog.show();
            dialogIsActive = true;
            createBackgroundSound();
            theGameView.resumeThread();
            if (soundToggleState) {
                mpBackground.start();
            }
        }

    }

Meine Ideen für mögliche Ursachen:
Obwohl der Screen aus ist, läuft weiterhin die run() Methode. Und zwar nicht nur bis zu Schleife, sondern auch in der Schleife. Ich habe noch nicht heraus gefunden, warum, obwohl der Screen aus ist, SurfaceCreated aufgerufen wird. Da bricht das Spiel auch nicht ab und alle Infos sind gespeichert.
Doch wenn dann der Screen angeschaltet wird, wird der Canvas nicht gesetzt und bleibt somit trotz dieser Zeile null:

theCanvas = theView.getHolder().lockCanvas();

Daraufhin wirft er in dieser Verzweigung dann die NullException:

            if (theCanvas != null) {
                theView.getHolder().unlockCanvasAndPost(theCanvas);
            }

Mit LogCat habe ich entweder das Problem, dass ich völlig bescheuert bin, aber ich bekomme es nicht hin, dass er irgendwas ausgibt. Ich nutze einfach immer den DebugModus.

Georg C.

... Ich habe das selbe Problem wie er, bzw. bei mir wirft die selbe
Zeile eine NullReferenceException aus...

ok - sorry

Und du hast Recht. Das sieht echt danach aus. Aber google mal GameLoopThread. Das ist jedesmal das selbe mit den selben Funktionen zum Aufrufen, Beenden usw. Wahrscheinlich hat der Macher dieses Tutorials selber nur kopiert. Ich habe mir den Teil mal angesehen. Ich sehe in diesen Punkten keinen Unterschied zu mir. Aber die App, die er im Store hat, würft nicht diese nervige Meldung aus. Und bei dem vorherigen Fragensteller hat es ja auch nach eine Menge Hilfen geklappt. ;)

— geändert am 12.06.2014, 07:32:34

Antworten
Georg C.
  • Forum-Beiträge: 235

12.06.2014, 00:06:19 via Website

Hi,

Das sieht echt danach aus. Aber google mal GameLoopThread. Das ist
jedesmal das selbe mit den selben Funktionen zum Aufrufen, Beenden
usw. Wahrscheinlich hat der Macher dieses Tutorials selber nur
kopiert. Ich habe mir den Teil mal angesehen. Ich sehe in diesen
Punkten keinen Unterschied zu mir.

OK! ...
Und GENAU! das ist das schönes in der OOP!
Einer entwickelt eine (...) Klasse die mehrmals verwendet wird (werden kann!)
Parade Beispiel ist die API!, ... (Libs) Bibliotheken ..... und ... und.

Du magst davon gebrauch zu machen? -> sehe die (Autor) API - frage den Autor der Klasse, was, warum, usw. ... man mit seiner Klasse machen kann?

... Und bei dem vorherigen Fragensteller hat es ja auch nach eine Menge
Hilfen geklappt. ...

Dann hat der vorherigen Fragensteller die Klasse richtig angewendet / benutzt.

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

12.06.2014, 07:30:44 via Website

Hi,

Du magst davon gebrauch zu machen? -> sehe die (Autor) API - frage den
Autor der Klasse, was, warum, usw. ... man mit seiner Klasse machen
kann?

Wer ist denn der Autor? Da es so viele Leute benutzen, kann ich das nicht mehr herausfinden.

Dann hat der vorherigen Fragensteller die Klasse richtig angewendet /
benutzt.

Aber selbst wenn das so ist, hat er doch keine Ahnung wieso. Also frage ich nicht ihn sonder euch, denn ich möchte eine Antwort auf eine Frage, bei der ich das Problem einfach nicht verstehe. Das hatte ich bisher noch nie. Deshalb habe ich mich an euch gewannt. ;)

Also bitte ich euch: Helft mir, wie ihm.

LG,
Max

Könnte es sein, dass dieser Teil den Fehler erzeugt?

surfaceHolder.addCallback(new SurfaceHolder.Callback() {
    public void surfaceDestroyed(SurfaceHolder holder) {
                    theGameLoopThread.setRunning(false);
                    boolean retry = true;
                    while (retry) {
                        try {
                            theGameLoopThread.interrupt();
                            theGameLoopThread.join();
                            retry = false;
                        } catch (InterruptedException e) {
                        }
                    }

                }

Dieses Callback()? Bei dem vorherigen Fragesteller lag es ja auch an einem Callback?
Mir ist jedenfalls aufgefallen, dass wenn ich den Bildschirm ausschalte gibt es den "theCanvas" vom GameLoopThread nicht mehr, wodurch der Fehler kommt. Das dumme ist, dass er obwohl isRunning = false ist, führt er diese Zeile noch einmal aus:

theView.getHolder().unlockCanvasAndPost(theCanvas);

Was er ja eigentlich nicht darf.

— geändert am 12.06.2014, 08:33:15

Antworten
Georg C.
  • Forum-Beiträge: 235

12.06.2014, 19:59:14 via Website

Hallo,

... Also bitte ich euch: Helft mir, wie ihm. ...

Ich helfe gerne, habe aber meine "Kriterien" dabei.
Damals habe ich sogar Full- Projekte für Leute geschrieben .....
OK.

Ich möchte mit Dir eine Vereinbarung vorschlagen. Die soll mehr oder weniger "online" passieren. Ganz genau ich möchte gerne, dass wir in einem Zeitraum der nicht länge als 2-3 Stunden ist uns einigen. (Ich sende Dir hier mein Angebot, und Du bestätigt es in max. 2-3 Stunden.) Also ich werde dir was Anbieten, meine Bedienung schildern, und Du sollst mir in 2-3 Stunden Dein Ja oder Nein geben.
Verstanden?

LG
Georg

EDIT!
Upps -
An Mod´s - es ist nichts kommerzielles.
Ich möchte dem wirklich! Helfen.

Habe aber meine Voraussetzungen.
Der - ich -> sollen uns (hier) einig sein.

Ich helfe dem; - die Fehler zu finden, der soll aber vorher meine Bedienungen (welcher ich selbstverständlich hier [offiziell] Posten würde) zustimmen. Es geht wieder ums Geld noch um ???? - Leistungen.

— geändert am 12.06.2014, 22:55:31

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

13.06.2014, 16:13:31 via Website

Ich werde mit Sicherheit nichts zahlen! Aber sonst könnte es sein, dass wir uns einig werden. ;)
Aber, dass ich mich innerhalb 3 Stunden entscheiden muss finde ich etwas schwierig, da ich die meiste Zeit gar nicht so viel online bin.

Antworten
Georg C.
  • Forum-Beiträge: 235

13.06.2014, 17:38:49 via Website

Hallo,

wenn Du damit einverstanden bist, ich finde Dir die Fehler, und poste Dir Dein Projekt Fehlerfrei zurück.

Meine Forderungen:
1) Du schickst mir Dein gesamten Projekt (Z.B. mit hilfe www.abload.de) oder direkt an meine Mail ...
2) Damit Du keine gravierende Strukturänderungen vornehmen kannst - war mein Limit.
Aber ok - ohne Zeitlimit!

Meine Leistungen:
1) Ich Finde für Dich die Fehler heraus.

Voraussetzungen:
1) Sollte ich feststellen, dass Dein Projekt DOCH! - eine Revision / Klon / Mutation ... des Panjuta Tutorial ist, so annulliere ich mein Angebot Dir zu Helfen.

KEINE BEZAHLUNG! oder sonstiges! Ich mache es um sonst!
Wenn!!!! - das keine Revision / Klon / Mutation ... des Panjuta Tutorial ist
In Deinem Interesse ist es Heute etwas öfters Online zu sein. :)

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

14.06.2014, 10:58:06 via Website

Hallo,
da ich mir dieses Tutorial nie angesehen habe, kann ich dir mit guten Gewissen das Projekt geben. Aber auch ich habe Bedingungen:
1. Ich behalte die gesamten Rechte an allem in dem Programm was mir gehört.
2. Du baust keine negativen Effekte in den Code ein (z.B. Viren, Trojaner, Backdoors)
3. Du markierst jede Stelle, welche du veränderst und erklärst mir wieso. Ich habe diese App bloß gemacht um zu lernen. Und wenn du einfach irgendwas änderst, würde es mir ja einfach überhaupt nichts bringen.

Wenn du zustimmst, werde ich das Projekt demnächst hochladen.

— geändert am 14.06.2014, 11:11:21

Antworten
Georg C.
  • Forum-Beiträge: 235

14.06.2014, 16:35:36 via Website

Hi,

  1. Ich behalte die gesamten Rechte an allem in dem Programm was mir gehört.

Kein Problem! Ich lege noch drauf, dass ich wieder an Multimediadaten noch Code Interesse habe.

  1. Du baust keine negativen Effekte in den Code ein (z.B. Viren, Trojaner, Backdoors)

Auf keinen Fall. (Du kannst naher selber den Code bearbeiten ... also .... verstehe ich nicht.)

  1. Du markierst jede Stelle, welche du veränderst und erklärst mir wieso

Hätte genau so gemacht.
Ok.
Bedingungen haben wir genug! DESHALB eine Bitte.

Sollte sich verstellen, das Dein Projekt ein gutes Game- Gerüst ist, werde ich den Gerne (mit neutralen Multimedia Materialien [ habe genügend] ) als Beispiel / Game- Gerüst hier im Forum unter Tutorials hochladen, damit auch andere davon was haben. Geht es in Ordnung?
Aber den Rest und vieles mehr, können wir auf PN klären.

Also ich stimme zu.

LG
Georg

EDIT!
wir "Produzieren" zu viel OT! - sorry admin!
Mach weiter auf PN!!!

— geändert am 14.06.2014, 16:58:47

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

14.06.2014, 16:49:30 via Website

Ok. Der Bitte kann ich zustimmen, aber ich glaube nicht, dass du was findest. Der Name der App ändert sich innerhalb des Programms mehrmals, da ich mich nicht entscheiden konnte.
https ://www.dropbox.com/s/ybnfgv7jpdua3sd/Choose_One.zip (Du musst die Leertaste wegnehmen, ich darf noch keine Links teilen.)

Danke schon mal.

— geändert am 14.06.2014, 19:56:28

Antworten
Georg C.
  • Forum-Beiträge: 235

14.06.2014, 19:24:57 via Website

Hi,
ich möchte hier keine weitere OT "Produzieren" - BITTE!
Unter Deinem Link ist - nichts. Kann gar nichts runterladen.
Auf PN habe ich nichts.

Ich konnte mich nicht entscheiden

Was soll es bedeuten?
Ich mache es ganz einfach. Sollte ich Heute Dein Projekt bekommen, halte mich an meine / unseren Abmachungen. Wird es nicht der Fall sein - sorry - .... lassen wir es!

Den Admin bitte um Entschuldigung und etwas "Aufräumarbeiten" - DANKE!

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Georg C.
  • Forum-Beiträge: 235

15.06.2014, 17:27:19 via Website

Hallo,
also die "Sache" ist sehr einfach; und ich mache sehr kurz.
Das ist DEFINITIV! ein Klon der Panjuta Tutorial.
Also es wurde .... nicht die Wahrheit gesagt.

image

Die Methoden ebenso gleich sind!
Damit hat sich meine Hilfe "rechtlich" erledigt!

Habe gedacht ok. -> "sei nicht so" .... Hilf dem ...

image

Wie .... unverantwortlich .... muss man sein, Fehler zu unterdrücken?!!!

Danach habe aber dies gefunden:

image

Wie auch das:
Zitate aus Eure App

Diese App wurde mit Hilfe vieler gemacht. Ein paar möchte ich hier
aufzählen: Max ...

Im Shop könnt ihr die gesammelten Münzen gegen Items, Boni und
Verschönerungen eintauschen.

Durch den Kauf erhältst du bei jedem Endless-Spiel ein zusätzliches
Leben.

Weil das alles kommerzielle Hintergrunde hat, .... nicht die Wahrheit gesagt;
egal was alle über mich denken ->
ich mache nicht weiter.

Gruß
Georg

— geändert am 15.06.2014, 17:37:20

Sorry für Gramatik & Stilistik Fehler.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

15.06.2014, 17:33:01 via Website

@Georg: Du muss dich hier nicht Rechtfertigen, wenn du das nicht machen willst, dann musst du es auch nicht.
Vlt. solltest du das Bild des Emulators rausnehmen aus Datenschutzgründen (E-Mail)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Georg C.
  • Forum-Beiträge: 235

15.06.2014, 18:03:41 via Website

Hi,
mit Email - erledigt.
1) Ich wollte gerne! - helfen, aber ich finde es Frechheit hoch 5, ein Tut zu machen - hier meine ich den Panjuta Tutorial, der fehlerhaft ist, und sehr viele es als Muster benutzen!
Der soll den Support übernehmen, aber wie es aussieht, ist der selber nicht in der Lage den Fehler zu beheben!
2) Ich mag nicht wenn mall mich .... nicht die Wahrheit sagt. :what:
over

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

15.06.2014, 20:54:21 via Website

Hallo,
ich würde mich gerne rechtfertigen:
1. Panjutorials hat offensichtlich sein Tutorial auch nur geklaut...
2. Was meinst du mit Fehlerunterdrückung? (meinst du das catch? Dadurch habe ich immer die ganzen Fehler in den Tutorials entdeckt. Deshalb hab ich es auch diesmal gemacht, leider wusste ich nur nicht, wie ich es behebe.)
3. Die Münzen sammelt man im Spiel: Also es kann auch statt eines Monsters eine Münze, Herz, Uhr, Bombe oder Boller kommen. Dadurch entsteht doch kein kommerzieller Hintergrund, oder?

Natürlich verstehe ich, wenn du nicht weitermachen willst. Und vielen Dank, dass du die E-Mail unkenntlich gemacht hast.

Max

PS:
Viel Dank, dass du wenigstens dran gedacht hast:

Habe gedacht ok. -> "sei nicht so" .... Hilf dem ...

PPS:Ich möchte mich ganz doll bei dir entschuldigen. Ich weiß eigentlich gar nicht sicher wofür, aber es tut mir Leid, dass du so enttäuscht wurdest. :(

Ganz viele freundliche Grüße
Max :'(

PS: Vielleicht können wir ja mal ganz normal chatten und dann zeige ich dir, dass ich kein schlechter Kerl bin. Denn so fühle ich mich gerade. ;)

— geändert am 16.06.2014, 16:31:04

Antworten
Georg C.
  • Forum-Beiträge: 235

17.06.2014, 10:28:49 via Website

Hallo,
damit dass alles ein ENDE hat, habe ich versucht den Elend zu beenden.
Warum versucht?
Weil ich selber noch nicht in der Android- Welt sich finden kann.
Wenn ich (mein Versuch) Falsch umgesetzt habe, bitte die "Android- Profis" um Korrektur.

Das einzige Fehler, welcher/s mir eingefallen ist war die "Unterdrückung" -> ist mit Noticen in der "PHP Welt" zu vergleichen.

Es gibt Probleme mit der draw(...) , bzw. auch mit der onDraw(...) Methoden!
Hier noch einmal das Bild:

image

Alle logische Stricken reißen bei mir zusammen!
...
Es gibt:
onCreate, onClick, onTouch Methoden.
Habe nach onDraw in der API gesucht. ... und eine Gefunden, die eine Verbindung zur Canvas hat:

abstract void onDraw() Callback method to be invoked when the view tree is about to be drawn. im android.view.ViewTreeObserver.OnDrawListener Es wirkt auf: See Also onMeasure(int, int) onLayout(boolean, int, int, int, int) onDraw(Canvas) <<<<<<<<<<<<<<<< AUCH

Ob es daran liegt? - sehr wahrscheinlich, sicher bin ich mir aber nicht!

FAZIT:
Die draw() bzw. onDraw() Methoden (teilweise @Override) in der Sptite Klasse, kollidieren in der Vererbungshierarchie miteinander. Der Compiler- Parser ist/war durcheinander! ....?

Ich habe der Sprite Klasse einfach eine "neutrale" Methode verpasst, welcher die Bitmaps zeichnen sollen, (habe aus Faulheit einfach ein "D" zugefügt) -> also onDDraw(...) genant.
Nach Projekt- Anpassungen (Methoden umbenennen -> im Core Projekt) hat alles funktioniert.

Ein schnelles versuch dies in Deinem Projekt umzusetzen war NIX!
Warum?
Weil Du zu vielen Änderungen zum "Original" vorgenommen hast.
(Als Strafe für deine .... nicht Wahrheit ... finde die "SUB- Fehler" selber.)
Ich habe nach 4-tem Test mall einen Absturz. Vermute jedoch, dass nach einem "Feinschliff"
- weil paar Zeilen im Code "gefallen" mir IMMER! nicht so ganz .... (Das Programm hat "Probleme" mit "selbst aufräumen - finalizer´n";) wird es 1A Funktionieren.
So:
Das etwas korrigierte; - d.h. - ohne direkten Fehler - (Little Dragons) habe ich HIER hochgeladen.

(Ist aber die "Core" Version.)
Hier ein Apel an andere; - ich habe nicht so viel Zeit ... aber vielleicht zusammen, schafft Ihr dem "Elend" ein ENDE zu setzen!

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

17.06.2014, 16:23:00 via Website

Als allererstes möchte ich mich gaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzz doll bei dir bedanken! Ich werde mal versuchen, dass anzuwenden, was du sagtest.

Allerdings (ja, es gibt immer ein allerdings :() weiß ich noch immer nicht wie ich es beheben kann. Ich habe mir das ganze jetzt mal angesehen und einfach alle onDraw() Methoden verändert:
onDraw() -> on(Anfangsbuchstaben der Klasse)Draw()
Doch funktioniert es noch immer nicht, er bringt auch bei mir keine Fehlermeldung mehr. Leider funktioniert es trotzdem noch nicht :(. Wenn ich mich entschuldige muss ich nicht mehr bestraft werden? Ich würde mich auch in die Ecke stellen. ;)

Falls es funktioniert: Noch einmal: ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! ENTSCHULDIGUNG! :)

— geändert am 21.06.2014, 13:14:13

Antworten
Tausendsturm
  • Forum-Beiträge: 19

22.06.2014, 11:35:43 via Website

Ich bin wirklich völlig überfordert. Es kommt keine Fehlermeldung mehr, es scheint alles zu funktionieren, es funktioniert nur nicht. :'(
Allerdings komme ich mit Eclipse auch noch immer nicht klar. Visual Studio ist halt viel besser, nur halt nicht für AndroidAppProgrammierung. ;)
Bitte hilf mir wieder. :)

Du kannst dir gar nicht vorstellen wie verzweifelt ich bin... :'(

— geändert am 22.06.2014, 12:23:41

Antworten
Georg C.
  • Forum-Beiträge: 235

23.06.2014, 00:44:33 via Website

Hallo Max,
erstmal bleib bitte locker! Du brauchst sich nicht so entschuldigen!
Das Problem ist; - ich bin android Anfänger!
Android wird zwar in größten Teil in Java programmiert (dar fühle ich mich etwas wohl),
hat jedoch seine eigene Struktur ... und gerade wie es so alles Funktioniert (... Abläufe ... Kommunikation, .... usw.) - dar blicke ich nicht so ganz durch.
(vermute, werde ich es immer GROB! verstehen ... habe Android "mit Absicht" verschlafen. ... ) Meine Android Bücher habe nur flüchtig gelesen. ... UPSSSS .... OK!

Einziges (gravierendes) Problem den ich bis jetzt finden konnte, war sagen wir Methoden- Kollision.
Die draw, bzw. onDraw müssen explizit (also jemand muss schon wissen) ob draw oder onDraw und ob man die überschreiben muss!) eingesetzt werden.
Habe da Heute etwas geguckt. Verbleibe aber immer bei dem Panjuta Tut. Weil wenn ich die Zeit, wie auch das wissen dafür finde, werde gerne eine "Absturzfreie" Version hier Hochladen, damit viele ein solides Grundgerüst in der Game- Art haben.
Ich bin mir noch nicht sicher, ob es an dem Dialog AUCH nicht liegt, bin jedoch ziemlich sicher, dass zurzeit implementierte "Aufräumen Mechanismus" nicht seine Arbeit richtig macht.
Ohne sich in die Details zu vertiefen, habe eine relativ Stabile Version gemacht.
Relativ, weil wenn man hin und zurück in den Dialog toggelt (resume, menu, newTry) irgend wann bekommt man das Programm zum Absturz.
Logcat ist "sauber"; -> Debug meckert einmal über Dialog, ... einmal über Daemons ...
...
Ein potentiales Fehlerkandidat (finde ich persönlich) könnte das finally Teil sein.
Obwohl alles schon aufgeräumt ist, wird versucht (Irgend wann in der Laufzeit!) doch auf Canvas zu schreiben:
theView.getHolder().unlockCanvasAndPost(theCanvas);
...
Ich werde die Pausen / Dialoge mit isRunning .... lieber steuern. und, und ...
... NUN dafür braucht man ZEIT!, was ich momentan nicht habe.

Ich habe Dir die etwas weiter Korrigierte - immer noch die "Core" Version des Panjuta Tut HIER hochgeladen.
Benutzte DIE! erstmal als Vorlage.
Selbstverständlich! - Du sollst (muss!) Deine Implementierungen aus Deinem Projekt, schon "filtern" - also korrekt in die immer noch nicht - ok - Version" einzubauen.

Und gerade das finde ich TOTALL NICHT in Ordnung!
Entweder ich beseitige die Fehler des Tut, oder ich mache gar nichts!
Ich "schimpfe" das es unverschämt ist, ein Fehlerhaftes Tutorial hoch zuladen, ... mache das aber selber! - brrrrrrrrrrr ...

LG
Georg

Ps.
ACHTUNG
Weil ich den Platzhalter führ Upload (zwar nur in etwas, aber) missbrauche, werden die Data naher (2 - 3 Wochen) gelöscht!

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

23.06.2014, 19:56:04 via Website

Hallo,

erstmal bleib bitte locker!

Ok. Ich versuche es mal.

Das Problem ist; - ich bin android Anfänger! Android wird zwar in größten Teil in Java programmiert (dar fühle ich mich etwas wohl),
hat jedoch seine eigene Struktur ... und gerade wie es so alles
Funktioniert (... Abläufe ... Kommunikation, .... usw.) - dar blicke
ich nicht so ganz durch.

Dann sind wir ja schon zwei. 2 Unterschiede: Ich fühle mich in C# sehr wohl; Du bist wirklich gut.

Ich habe das Problem, dass ich Projekte nicht importieren kann ohne, dass nichts funktioniert und eclipse völlig verrückt spielt. Wenn ich also ein neues Projekt mache und einfach alles reinkopiere habe ich das blöde Problem, dass der Intent newGameScreen nicht gestartet werden kann ohne dass es abstürzt.

Ich "schimpfe" das es unverschämt ist, ein Fehlerhaftes Tutorial hoch zuladen, ... mache das aber selber! - brrrrrrrrrrr ...

Aber bei dir wird es wahrscheinlich zu einem fehlerhaften Projekt führen.

Danke,
Max

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.06.2014, 20:19:39 via Website

@Tausendsturm : Schon mal ein paar Project Cleans probiert?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tausendsturm
  • Forum-Beiträge: 19

23.06.2014, 20:20:32 via Website

@Tausendsturm : Schon mal ein paar Project Cleans probiert?

Ja

Antworten
Georg C.
  • Forum-Beiträge: 235

23.06.2014, 23:39:11 via Website

Hi Max,
ich habe ne Vermutung ....
Also wenn Du in Deinem (versuche es neu) workbench;

File->new->Project->Android Project from Existing Code
auf den entpakten Projekt zeigst, wird Eclipse die MainActivity automatisch erkennen,
und dem entsprechend alles ("richtig importieren" ) anlegen.
... wird der Intent newGameScreen problemlos starten müssen.
...
sonnst hätte sich schon auch jemand anderen gemeldet, dass der Intent newGameScreen nicht startet ;)

Aber eins verstehe ich nicht.
Wieso willst Du (so hartnäckig) auf einem Fehlerhaftem "Fundament bauen"???
...
und wenn man noch Canwas / Paint -> sind nicht die beste Grafikrender betrachtet ..???
...
Ich habe momentan wirklich sehr wenig Zeit, möchte gar nichts versprechen!
Nun vielleicht werde mir das Tut wirklich demnächst vorknöpfen. (?)

LG
Georg

— geändert am 23.06.2014, 23:40:27

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

24.06.2014, 08:31:39 via Website

Guten Morgen.
Wenn ich Zuhause bin, werde ich es mal wieder ausprobieren.
Du meinst echt, dass es noch jemand anderen interessiert? (Um die Ecke schmulend) ;)
Ich wollte mit der App meine Javakenntnisse erzeugen. Und wie lernt man denn besser als aus Fehlern? Zudem dachte ich ja eigentlich auch, dass wenn jemand ein Tutorial macht, es fehlerfrei ist und man wirklich lernen kann. :(

LG
Max

Antworten
Tausendsturm
  • Forum-Beiträge: 19

25.06.2014, 12:26:38 via Website

Ok. Es hat geklappt. Aber das Spiel stürzt bei mir genauso ab, wenn ich den Bildschirm ausschalte. :'(
Liegt es an meinem Handy? Und warum werden die Variablen startTime und sleepTime eigentlich zweimal im GameLoopThread erzeugt?
Einmal in Zeile 10 und einmal in Zeile 23.

LG
Max

Antworten
Georg C.
  • Forum-Beiträge: 235

25.06.2014, 13:28:29 via Website

Hi,
ich muss mir schon mühe geben, damit die App abstürzt!
Zum startTime und sleepTime Variablen - ja;
Nach meinen "Aufräumen" -> Arbeiten, habe tartzählich es vergessen (aus der Zeile 23) zu löschen. Ich möchte alle variablen in dem sog. Deklarationsfeld (also oben) haben - NUR! deklarieren. (also aus der Zeile 23 den Dubblet sorglos löschen) Wird jetzt in der Zeile 10 deklariert.

Du benutzt schon seid längeren Zeit die Begriffe "Bildschirm ausschalte" .... "Bildschirm aus"
was meinst Du damit?

LG
Georg

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

25.06.2014, 13:46:47 via Website

Damit meine ich, dass ich die ganze Aktion auf meinen Handy ausführe. Ich bekomme nur Probleme, wenn ich diesen Bildschirm/Display meines Handys ausschalte und dann wieder anschalte. Es stürzt ja immer erst dann ab. :D

LG
Max

Antworten
Georg C.
  • Forum-Beiträge: 235

26.06.2014, 02:51:13 via Website

Hallo,

Ich bekomme nur Probleme, wenn ich diesen Bildschirm/Display meines
Handys ausschalte und dann wieder anschalte. Es stürzt ja immer erst
dann ab.

Hmm ... , das habe ich nicht versucht / gemacht. Und es stimmt! Damit bekommt man einen "sofort" Absturz! (mit (Dialog) hin und her; - irgend wann aber auch) -ok!

Das " Bildschirm/Display meines Handys ausschalte und dann wieder anschalte" -> Problem;
kann man (meine Meinung nach) auf zwei arten lösen:

1) an der Stelle, wo das Ereignis (Event) auftritt es ignorieren lassen.

if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
// mache gar nichts - ignorieren
}

Nun wo das zustande kommt habe keine Ahnung. (Keine [noch] Zeit / "hmm Lust" es rauszufinden)

Aber als C# Programmierer ...
versuche es selber herauszufinden mit z.B.:

#

public class my_findeEvent extends Thread{
// hier code
}

oder

interface my_findeEvent {
// hier code
}

2) den Power- Button (NUR! in dem Spiel) mit einem Flag -> außer Gefecht zusetzen.
...
Habe herausgefunden:
getWindow().clearFlags(WindowManager.LayoutParams.PREVENT_POWER_KEY);
aber leider (auf die schnelle probiert) ohne Erfolg.

FAZIT!
Obwohl ich (jemand) gewiesene Java- Kenntnisse hat, bringt es noch nicht sehr viel!
Der "Heilige Gral" ist immer (bei jeder prog. Sprache) in der API verborgen / vergraben!
...

Sehe es BITTE! ein, dass aus einem Tutorials, -> Programmieren in einer fremde Prog. Sprache zu lernen ist fast unmöglich!
Ohne fremde Hilfe kommst Du NICHT! herum.

Und jetzt ganz Ehrlich! (versuche - mini ... mini kurz)
Event-Handling gibt es auch in C#! (EventArgs e / xxxEventArgs e )
Du möchtest aus einem Tut lernen - schön. Das Tut ist aber mit Fehlern "Verseucht"
Noch besser!
Dann hast Du die Volle Palette an Faktoren, Aspekten .... mit denen sich ein Programmierer im Alltag so beschäftigen muss, um ein fehlerfreien & Wartungsfreundlichen Code zu gewährleisten.
Ich wünsche Dir bei Java lernen aus dem Tutorial; - viel Erfolg.

LG
Georg

Ps.
Junge Mann, ich verspreche hier nix! - (wende Dich an den Autor ...)
Ob ich die Zeit für validierung des ("CORE";) Tut. finde - habe oft erwähnt - keine Ahnung!

Sorry für Gramatik & Stilistik Fehler.

Antworten
Tausendsturm
  • Forum-Beiträge: 19

26.06.2014, 08:29:17 via Website

Aber wenn ich den Button deaktiviere wäre es ja etwas blöd, eben weil er eben deaktiviert ist. ;)
Wie soll ich es denn sonst lernen? Mein Infolehrer hat weniger Ahnung als ich, die Leute bei meinem Schülerjob programmieren auch alle in C# und der Autor (des Tutorials) reagiert auf nichts. :(

LG
Max
PS: Es gibt eigentlich noch eine dritte Möglichkeit und zwar die Möglichkeit, die eigentlich eingebaut ist: Das Pausenmenü wird aufgerufen, so dass man, wenn der Bildschirm wieder angeht, auf "Weiter" klicken kann und somit das Spiel einfach weitergeht. ;)

— geändert am 26.06.2014, 11:16:54

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.06.2014, 13:54:48 via Website

@Tausendsturm: c# ist nicht viel anders Als Java (von der Syntax her meine ich).
Aber für Plattformübergreifende Programmierung halte ich Java für besser.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tausendsturm
  • Forum-Beiträge: 19

26.06.2014, 15:02:19 via Website

Hey. Ich bin mit meinen 16 Jahren auch in C# nicht der absolute Profi und von Grafikprogrammierung habe ich auch dort keine Ahnung. Und mit der Übergreifung hast du sicherlich recht, aber das wusste ich damals nicht. ;)

Max

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.06.2014, 15:43:28 via Website

Uups falscher Thread sorry... :(

— geändert am 26.06.2014, 15:43:59

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Tausendsturm
  • Forum-Beiträge: 19

05.07.2014, 17:17:08 via Website

Kann mir denn hier niemand mehr helfen? :(

Antworten
Georg C.
  • Forum-Beiträge: 235

09.07.2014, 10:25:07 via Website

Hallo,

Kann mir denn hier niemand mehr helfen?

thia ... in den Foren, wird Grundsätzlich bei sog. Teilprobleme (GERNE!) geholfen.
Fragen welche etwas Komplexe "zusammenhänge" mit sich bringen -> ?Zeitinvestive fragen, werden selten beantworten. Full Projekte .... NO! ...
Ich weis noch nicht, was mich an dem Tut so "anzieht", aber .... irgendwas ist es schon.
... Ehrlich gesagt, keine Ahnung!

Ich habe etwas Zeit gefunden, mir das Spiel wieder "anzuschauen".
... versuche es kurz.

Hierbei die GameLoopThread Klasse. Die werde ich erstmal so lassen.
Ob die Unsprüngliche Version auch ok war? - glaube schon! - habe nicht analysiert.
Damit das ganzes Funktioniert, muss noch die GameView Klasse angepasst werden:

GameLoopThread:

import android.graphics.Canvas;

public class GameLoopThread extends Thread {

    static final long FPS = 20;
    private GameView theView;
    public boolean isRunning = false;
    long startTime, sleepTime;
    int delay = 50;


    public GameLoopThread(GameView gameView) {
        this.theView = gameView;
    }

    public void setRunning(boolean run) {
        isRunning = run;
    }


    @Override
    public void run()
    {
        Canvas theCanvas;
        while (isRunning)
        {
            theCanvas = null;
            long TPS = 1000 / FPS;
            startTime = System.currentTimeMillis();
            sleepTime = TPS - (System.currentTimeMillis() - startTime);

            try
            {
                if (sleepTime > System.currentTimeMillis())
                {
                    try
                    {
                        sleep(sleepTime - System.currentTimeMillis());
                    } catch (InterruptedException ignore)
                    {

                    }
                }

                sleepTime = System.currentTimeMillis() + delay;
                theCanvas = theView.getHolder().lockCanvas(null);
                synchronized (theView.getHolder())
                {
                    theView.onDraw(theCanvas);  
                    //theView.onDDraw(theCanvas); 
                }
            } finally
            {
                if (theCanvas != null)
                {
                    theView.getHolder().unlockCanvasAndPost(theCanvas);
                }
            }
        }
    }
}

GameView:

...
//@Override
    public void onDraw(Canvas canvas) {
...

Das PowerButton Problem; - aber auch das hin und her wechseln zwischen den Menu- Optionen [bContinue, bMainMenu, bNewTry] führt zum Absturz weil:

in der Spielsteuerung (Menu) ist ein (?mehrere) Logisches- Fehler.
Die Game- Hauptschleife wird (wie damals schon vermutet) nicht "sauber" gesteuert.

Um die Laufzeit zur verfolgen, habe ich in jeder (onPause(), ... onDestroy() ) Methode, mir ein Info (mit System.out.println(" ... ) ausgeben lassen. In den Methoden "frühre / blockiere" ich die Hauptschleife mit:

...
@Override
    protected void onPause() {
        System.out.println("onPause "); // #####
        super.onPause();
        theGameView.pauseThread();
        firstStart = false;
...

ein. 

Damit ich aber (nur für debug zwecke) 100%- ge Garantie habe, dass die Spielhauptschleife (in jedem Fall!) unterbrochen wird, habe sogar (was totale Quatsch ist, ... aber ...) die Unterbrechung in der onResume() Meth. eingebaut. .... ok - so.
Und es hat resultiert! Jetzt stürzt das Spiel beim erstem PowerButton drücken nicht mehr.
Bei anschalten (erneutem -> wieder an - klick) LOGISCH! - schon.

Die logcat für meine zwei Teste sieht folgendermaßen aus:

____________

Versuch 1
1-ter Klick auf den PowerButton

07-07 05:55:56.787: WARN/WindowManager(92): Failure taking screenshot for (180x300) to layer 21015
07-07 05:55:56.797: INFO/System.out(871): onPause
07-07 05:55:56.977: WARN/NetworkManagementSocketTagger(92): setKernelCountSet(10040, 0) failed with errno -2
07-07 05:55:57.257: DEBUG/dalvikvm(92): GC_CONCURRENT freed 174K, 11% free 12487K/13895K, paused 7ms+10ms
07-07 05:55:57.288: VERBOSE/TransportControlView(92): Create TCV com.android.internal.widget.TransportControlView@414b3460
07-07 05:55:57.397: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info back home RECENT* clock >
07-07 05:55:57.417: WARN/SoundPool(92): sample 0 not READY
07-07 05:55:57.437: DEBUG/android.widget.GridLayout(92): horizontal constraints: x1 - x0 > 214, x2 - x1 > 96, x3 - x2 > 300, x3 - x0 < 480 are inconsistent; permanently removing: x3 - x0 < 480.
07-07 05:55:57.437: INFO/WindowManager(92): createSurface Window{415232d8 Keyguard paused=false}: DRAW NOW PENDING
07-07 05:55:57.457: INFO/InputReader(92): Reconfiguring input devices. changes=0x00000004
07-07 05:55:57.457: INFO/InputReader(92): Device reconfigured: id=0, name='qwerty2', surface size is now 480x800, mode is 1
07-07 05:55:57.487: INFO/ActivityManager(92): Config changed: {1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h533dp nrml long port finger qwerty/v/v -nav/h s.21}
07-07 05:55:57.617: INFO/System.out(871): onDestroy
07-07 05:55:57.997: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info BACK* HOME* RECENT CLOCK* >
07-07 05:55:58.057: VERBOSE/TransportControlView(92): Create TCV com.android.internal.widget.TransportControlView@41657cf0
07-07 05:55:58.237: INFO/dalvikvm(92): Total arena pages for JIT: 11
07-07 05:55:58.757: DEBUG/dalvikvm(871): GC_CONCURRENT freed 5396K, 23% free 18729K/24263K, paused 5ms+30ms
07-07 05:55:59.417: INFO/System.out(871): onResume
07-07 05:55:59.497: INFO/System.out(871): onPause
07-07 05:55:59.538: WARN/MediaPlayer(871): mediaplayer went away with unhandled events
07-07 05:55:59.538: WARN/MediaPlayer(871): mediaplayer went away with unhandled events
07-07 05:55:59.597: INFO/WindowManager(92): createSurface Window{41680b38 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 05:55:59.777: INFO/WindowManager(92): createSurface Window{415282a8 SurfaceView paused=false}: DRAW NOW PENDING
07-07 05:56:00.587: DEBUG/dalvikvm(92): GC_CONCURRENT freed 377K, 9% free 12646K/13895K, paused 7ms+52ms
07-07 05:56:01.197: DEBUG/dalvikvm(871): GC_CONCURRENT freed 152K, 16% free 20590K/24263K, paused 5ms+6ms
07-07 05:56:02.127: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 92K, 9% free 22100K/24263K, paused 130ms
07-07 05:56:02.127: INFO/dalvikvm-heap(871): Grow heap (frag case) to 22.056MB for 409616-byte allocation
07-07 05:56:02.377: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 16K, 10% free 22484K/24711K, paused 88ms
07-07 05:56:02.467: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 2K, 10% free 22481K/24711K, paused 60ms
07-07 05:56:02.467: INFO/dalvikvm-heap(871): Grow heap (frag case) to 22.428MB for 409616-byte allocation
07-07 05:56:02.607: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 6K, 10% free 22875K/25159K, paused 60ms
07-07 05:56:02.617: WARN/WindowManager(92): App freeze timeout expired.
07-07 05:56:02.617: WARN/WindowManager(92): Force clearing freeze: AppWindowToken{41655f00 token=ActivityRecord{415e1908 com.crazy.lazydragon/.MainActivity}}
07-07 05:56:02.687: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed <1K, 10% free 22875K/25159K, paused 64ms
07-07 05:56:02.697: INFO/dalvikvm-heap(871): Grow heap (frag case) to 22.813MB for 409616-byte allocation
07-07 05:56:02.827: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed <1K, 10% free 23275K/25607K, paused 61ms
07-07 05:56:02.827: DEBUG/dalvikvm(871): [ 07-07 05:56:09.437 92:0x81 F/NetworkStats ]
07-07 05:56:02.827: DEBUG/dalvikvm(871): problem reading network stats
07-07 05:56:02.827: DEBUG/dalvikvm(871): java.lang.IllegalStateException: problem parsing line: null
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:313)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.server.NetworkManagementService.getNetworkStatsUidDetail(NetworkManagementService.java:1271)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.server.net.NetworkStatsService.performPollLocked(NetworkStatsService.java:810)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.server.net.NetworkStatsService.performPoll(NetworkStatsService.java:771)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.server.net.NetworkStatsService.access$100(NetworkStatsService.java:128)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.server.net.NetworkStatsService$3.onReceive(NetworkStatsService.java:610)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at android.os.Handler.handleCallback(Handler.java:605)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at android.os.Handler.dispatchMessage(Handler.java:92)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at android.os.Looper.loop(Looper.java:137)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at android.os.HandlerThread.run(HandlerThread.java:60)
07-07 05:56:02.827: DEBUG/dalvikvm(871): Caused by: java.io.FileNotFoundException: /proc/net/xt_qtaguid/stats: open failed: ENOENT (No such file or directory)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at libcore.io.IoBridge.open(IoBridge.java:406)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at java.io.FileInputStream.<init>(FileInputStream.java:78)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at java.io.FileReader.<init>(FileReader.java:42)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:272)
07-07 05:56:02.827: DEBUG/dalvikvm(871): ... 10 more
07-07 05:56:02.827: DEBUG/dalvikvm(871): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at libcore.io.Posix.open(Native Method)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98)
07-07 05:56:02.827: DEBUG/dalvikvm(871): at libcore.io.IoBridge.open(IoBridge.java:390)
07-07 05:56:02.827: DEBUG/dalvikvm(871): ... 13 more
07-07 05:56:40.088: DEBUG/dalvikvm(871): GC_CONCURRENT freed 1651K, 9% free 23550K/25607K, paused 5ms+25ms
07-07 05:57:19.497: DEBUG/dalvikvm(871): GC_CONCURRENT freed 1968K, 9% free 23560K/25671K, paused 5ms+25ms
07-07 05:57:58.649: DEBUG/dalvikvm(871): GC_CONCURRENT freed 1970K, 9% free 23557K/25671K, paused 6ms+27ms

#

2-ter Klick auf den Power Button

07-07 05:58:30.027: INFO/System.out(871): onResume
07-07 05:58:30.077: WARN/NetworkManagementSocketTagger(92): setKernelCountSet(10040, 1) failed with errno -2
07-07 05:58:30.187: INFO/WindowManager(92): Lock screen displayed!
07-07 05:58:30.457: INFO/WindowManager(92): createSurface Window{41549538 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 05:58:34.507: WARN/SoundPool(92): sample 0 not READY
07-07 05:58:34.507: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info BACK HOME recent* CLOCK >
07-07 05:58:34.570: WARN/SurfaceFlinger(36): createScreenshotSurface failed (Function not implemented)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): Unable to allocate freeze surface
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): android.view.Surface$OutOfResourcesException
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.view.Surface.init(Native Method)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.view.Surface.<init>(Surface.java:262)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.ScreenRotationAnimation.<init>(ScreenRotationAnimation.java:90)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.startFreezingDisplayLocked(WindowManagerService.java:9072)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.updateRotationUncheckedLocked(WindowManagerService.java:5287)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.updateOrientationFromAppTokensLocked(WindowManagerService.java:3433)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.relayoutWindow(WindowManagerService.java:2757)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.Session.relayout(Session.java:158)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:3558)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1165)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.os.Handler.dispatchMessage(Handler.java:99)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at android.os.Looper.loop(Looper.java:137)
07-07 05:58:34.570: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService$PolicyThread.run(WindowManagerService.java:732)
07-07 05:58:34.588: INFO/InputReader(92): Reconfiguring input devices. changes=0x00000004
07-07 05:58:34.588: INFO/InputReader(92): Device reconfigured: id=0, name='qwerty2', surface size is now 480x800, mode is 1
07-07 05:58:34.627: INFO/ActivityManager(92): Config changed: {1.0 310mcc260mnc en_US layoutdir=0 sw320dp w533dp h320dp nrml long land finger qwerty/v/v -nav/h s.22}
07-07 05:58:34.807: INFO/System.out(871): onPause
07-07 05:58:34.817: INFO/System.out(871): onDestroy
07-07 05:58:35.087: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info back* home* recent clock* >
07-07 05:58:35.807: INFO/System.out(871): onResume
07-07 05:58:35.887: INFO/System.out(871): onDismiss
07-07 05:58:35.947: INFO/WindowManager(92): createSurface Window{415fce18 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 05:58:36.007: INFO/WindowManager(92): createSurface Window{4153b5c0 SurfaceView paused=false}: DRAW NOW PENDING
07-07 05:58:36.267: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:36.307: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 1625K, 9% free 23549K/25671K, paused 134ms
07-07 05:58:36.307: INFO/dalvikvm-heap(871): Grow heap (frag case) to 23.471MB for 409616-byte allocation
07-07 05:58:36.709: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:36.709: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 17K, 9% free 23932K/26119K, paused 71ms
07-07 05:58:36.837: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:36.857: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 3K, 9% free 23929K/26119K, paused 70ms
07-07 05:58:36.857: INFO/dalvikvm-heap(871): Grow heap (frag case) to 23.842MB for 409616-byte allocation
07-07 05:58:37.137: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:37.137: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 14K, 9% free 24314K/26567K, paused 70ms
07-07 05:58:37.277: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:37.287: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 4K, 9% free 24310K/26567K, paused 74ms
07-07 05:58:37.298: INFO/dalvikvm-heap(871): Grow heap (frag case) to 24.214MB for 409616-byte allocation
07-07 05:58:37.559: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:37.559: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 19K, 9% free 24691K/27015K, paused 70ms
07-07 05:58:37.658: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:37.678: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 3K, 9% free 24688K/27015K, paused 69ms
07-07 05:58:37.678: INFO/dalvikvm-heap(871): Grow heap (frag case) to 24.583MB for 409616-byte allocation
07-07 05:58:37.899: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:37.899: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 16K, 9% free 25071K/27463K, paused 71ms
07-07 05:58:37.958: WARN/WindowManager(92): Window freeze timeout expired.
07-07 05:58:37.958: WARN/WindowManager(92): Force clearing orientation change: Window{415fce18 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}
07-07 05:58:38.028: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:38.038: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 4K, 9% free 25068K/27463K, paused 88ms
07-07 05:58:38.038: INFO/dalvikvm-heap(871): Grow heap (frag case) to 24.954MB for 409616-byte allocation
07-07 05:58:38.278: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:38.298: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 18K, 9% free 25449K/27911K, paused 74ms
07-07 05:58:38.398: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:38.409: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 4K, 9% free 25445K/27911K, paused 70ms
07-07 05:58:38.409: INFO/dalvikvm-heap(871): Grow heap (frag case) to 25.323MB for 409616-byte allocation
07-07 05:58:38.647: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:38.647: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 19K, 9% free 25825K/28359K, paused 70ms
07-07 05:58:38.768: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:38.768: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 5K, 9% free 25820K/28359K, paused 69ms
07-07 05:58:38.798: INFO/dalvikvm-heap(871): Grow heap (frag case) to 25.689MB for 409616-byte allocation
07-07 05:58:39.018: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:39.018: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 19K, 10% free 26200K/28807K, paused 70ms
07-07 05:58:39.138: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:39.138: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 5K, 10% free 26196K/28807K, paused 69ms
07-07 05:58:39.148: INFO/dalvikvm-heap(871): Grow heap (frag case) to 26.055MB for 409616-byte allocation
07-07 05:58:39.388: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:39.398: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 19K, 10% free 26576K/29255K, paused 69ms
07-07 05:58:39.648: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:39.658: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 22K, 8% free 26955K/29255K, paused 71ms
07-07 05:58:39.658: INFO/dalvikvm-heap(871): Grow heap (frag case) to 26.797MB for 409616-byte allocation
07-07 05:58:39.808: WARN/WindowManager(92): App freeze timeout expired.
07-07 05:58:39.808: WARN/WindowManager(92): Force clearing freeze: AppWindowToken{41655f00 token=ActivityRecord{415e1908 com.crazy.lazydragon/.MainActivity}}
07-07 05:58:39.908: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:39.908: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 19K, 8% free 27335K/29703K, paused 69ms
07-07 05:58:40.018: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:40.028: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 3K, 8% free 27332K/29703K, paused 68ms
07-07 05:58:40.028: INFO/dalvikvm-heap(871): Grow heap (frag case) to 27.166MB for 409616-byte allocation
07-07 05:58:40.168: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:40.168: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed 3K, 9% free 27729K/30151K, paused 68ms
07-07 05:58:40.248: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:40.258: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed <1K, 9% free 27729K/30151K, paused 70ms
07-07 05:58:40.268: INFO/dalvikvm-heap(871): Grow heap (frag case) to 27.553MB for 409616-byte allocation
07-07 05:58:40.398: DEBUG/dalvikvm(871): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 05:58:40.398: DEBUG/dalvikvm(871): GC_FOR_ALLOC freed <1K, 9% free 28129K/30599K, paused 69ms
07-07 05:58:42.108: DEBUG/dalvikvm(92): GC_EXPLICIT freed 316K, 10% free 12610K/13895K, paused 6ms+20ms

# #

Versuch 2
1-ter Klick auf den PowerButton

07-07 06:27:03.468: WARN/WindowManager(92): Failure taking screenshot for (180x300) to layer 21015
07-07 06:27:03.468: INFO/System.out(1019): onPause
07-07 06:27:03.658: WARN/NetworkManagementSocketTagger(92): setKernelCountSet(10040, 0) failed with errno -2
07-07 06:27:03.808: VERBOSE/TransportControlView(92): Create TCV com.android.internal.widget.TransportControlView@41526ae8
07-07 06:27:03.928: DEBUG/dalvikvm(92): GC_CONCURRENT freed 86K, 9% free 12645K/13895K, paused 7ms+12ms
07-07 06:27:04.018: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info back home RECENT* clock >
07-07 06:27:04.048: WARN/SoundPool(92): sample 0 not READY
07-07 06:27:04.068: DEBUG/android.widget.GridLayout(92): horizontal constraints: x1 - x0 > 214, x2 - x1 > 96, x3 - x2 > 300, x3 - x0 < 480 are inconsistent; permanently removing: x3 - x0 < 480.
07-07 06:27:04.078: INFO/WindowManager(92): createSurface Window{415232d8 Keyguard paused=false}: DRAW NOW PENDING
07-07 06:27:04.088: INFO/InputReader(92): Reconfiguring input devices. changes=0x00000004
07-07 06:27:04.088: INFO/InputReader(92): Device reconfigured: id=0, name='qwerty2', surface size is now 480x800, mode is 1
07-07 06:27:04.120: INFO/ActivityManager(92): Config changed: {1.0 310mcc260mnc en_US layoutdir=0 sw320dp w320dp h533dp nrml long port finger qwerty/v/v -nav/h s.27}
07-07 06:27:04.288: INFO/System.out(1019): onDestroy
07-07 06:27:04.678: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info BACK* HOME* RECENT CLOCK* >
07-07 06:27:04.768: VERBOSE/TransportControlView(92): Create TCV com.android.internal.widget.TransportControlView@414b3460
07-07 06:27:05.258: DEBUG/dalvikvm(92): GC_CONCURRENT freed 87K, 6% free 13151K/13895K, paused 7ms+21ms
07-07 06:27:05.628: INFO/System.out(1019): onResume
07-07 06:27:05.658: INFO/System.out(1019): onPause
07-07 06:27:05.678: WARN/MediaPlayer(1019): mediaplayer went away with unhandled events
07-07 06:27:05.678: WARN/MediaPlayer(1019): mediaplayer went away with unhandled events
07-07 06:27:05.708: INFO/WindowManager(92): createSurface Window{414bed90 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 06:27:05.868: INFO/WindowManager(92): createSurface Window{415ba9f8 SurfaceView paused=false}: DRAW NOW PENDING
07-07 06:27:06.258: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 304K, 13% free 18523K/21063K, paused 106ms
07-07 06:27:06.959: DEBUG/dalvikvm(1019): GC_CONCURRENT freed 52K, 3% free 20474K/21063K, paused 6ms+7ms
07-07 06:27:07.258: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 1K, 4% free 21674K/22407K, paused 56ms
07-07 06:27:07.538: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed <1K, 4% free 22875K/23751K, paused 57ms
07-07 06:27:09.267: WARN/WindowManager(92): App freeze timeout expired.

#

2-ter Klick auf den Power Button

07-07 06:28:10.978: INFO/System.out(1019): onResume
07-07 06:28:11.018: WARN/NetworkManagementSocketTagger(92): setKernelCountSet(10040, 1) failed with errno -2
07-07 06:28:11.068: INFO/WindowManager(92): Lock screen displayed!
07-07 06:28:11.348: INFO/WindowManager(92): createSurface Window{415dfad0 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 06:28:22.367: WARN/SoundPool(92): sample 0 not READY
07-07 06:28:22.367: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info BACK HOME recent* CLOCK >
07-07 06:28:22.420: WARN/SurfaceFlinger(36): createScreenshotSurface failed (Function not implemented)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): Unable to allocate freeze surface
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): android.view.Surface$OutOfResourcesException
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.view.Surface.init(Native Method)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.view.Surface.<init>(Surface.java:262)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.ScreenRotationAnimation.<init>(ScreenRotationAnimation.java:90)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.startFreezingDisplayLocked(WindowManagerService.java:9072)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.updateRotationUncheckedLocked(WindowManagerService.java:5287)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.updateOrientationFromAppTokensLocked(WindowManagerService.java:3433)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService.relayoutWindow(WindowManagerService.java:2757)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.Session.relayout(Session.java:158)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:3558)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1165)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.os.Handler.dispatchMessage(Handler.java:99)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at android.os.Looper.loop(Looper.java:137)
07-07 06:28:22.427: WARN/ScreenRotationAnimation(92): at com.android.server.wm.WindowManagerService$PolicyThread.run(WindowManagerService.java:732)
07-07 06:28:22.427: INFO/InputReader(92): Reconfiguring input devices. changes=0x00000004
07-07 06:28:22.438: INFO/InputReader(92): Device reconfigured: id=0, name='qwerty2', surface size is now 480x800, mode is 1
07-07 06:28:22.467: INFO/ActivityManager(92): Config changed: {1.0 310mcc260mnc en_US layoutdir=0 sw320dp w533dp h320dp nrml long land finger qwerty/v/v -nav/h s.28}
07-07 06:28:22.657: INFO/System.out(1019): onPause
07-07 06:28:22.677: INFO/System.out(1019): onDestroy
07-07 06:28:22.947: DEBUG/PhoneStatusBar(145): disable: < expand icons alerts ticker system_info back* home* recent clock* >
07-07 06:28:23.627: INFO/System.out(1019): onResume
07-07 06:28:23.707: INFO/System.out(1019): onDismiss
07-07 06:28:23.767: INFO/WindowManager(92): createSurface Window{415feac0 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}: DRAW NOW PENDING
07-07 06:28:23.828: INFO/WindowManager(92): createSurface Window{41692ae0 SurfaceView paused=false}: DRAW NOW PENDING
07-07 06:28:24.137: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:24.167: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 1435K, 7% free 23927K/25543K, paused 108ms
07-07 06:28:24.497: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:24.549: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 21K, 7% free 24306K/25991K, paused 75ms
07-07 06:28:24.917: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:24.947: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 18K, 7% free 24688K/26439K, paused 68ms
07-07 06:28:24.947: INFO/dalvikvm-heap(1019): Grow heap (frag case) to 24.583MB for 409616-byte allocation
07-07 06:28:25.187: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:25.197: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 18K, 7% free 25070K/26887K, paused 69ms
07-07 06:28:25.287: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:25.287: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 3K, 7% free 25067K/26887K, paused 71ms
07-07 06:28:25.297: INFO/dalvikvm-heap(1019): Grow heap (frag case) to 24.953MB for 409616-byte allocation
07-07 06:28:25.527: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:25.527: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 17K, 7% free 25449K/27335K, paused 67ms
07-07 06:28:25.637: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:25.647: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 3K, 7% free 25445K/27335K, paused 66ms
07-07 06:28:25.647: INFO/dalvikvm-heap(1019): Grow heap (frag case) to 25.323MB for 409616-byte allocation
07-07 06:28:25.777: WARN/WindowManager(92): Window freeze timeout expired.
07-07 06:28:25.777: WARN/WindowManager(92): Force clearing orientation change: Window{415feac0 com.crazy.lazydragon/com.crazy.lazydragon.MainActivity paused=false}
07-07 06:28:25.899: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:25.907: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 20K, 8% free 25825K/27783K, paused 68ms
07-07 06:28:26.037: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:26.047: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 4K, 8% free 25821K/27783K, paused 80ms
07-07 06:28:26.047: INFO/dalvikvm-heap(1019): Grow heap (frag case) to 25.690MB for 409616-byte allocation
07-07 06:28:26.277: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:26.277: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 17K, 8% free 26203K/28231K, paused 71ms
07-07 06:28:26.387: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:26.397: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 3K, 8% free 26200K/28231K, paused 66ms
07-07 06:28:26.417: INFO/dalvikvm-heap(1019): Grow heap (frag case) to 26.060MB for 409616-byte allocation
07-07 06:28:26.627: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:26.637: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 18K, 8% free 26581K/28679K, paused 68ms
07-07 06:28:27.037: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:27.047: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 39K, 5% free 27343K/28679K, paused 66ms
07-07 06:28:27.237: DEBUG/dalvikvm(1019): threadid=11: still suspended after undo (sc=1 dc=1)
07-07 06:28:27.237: DEBUG/dalvikvm(1019): GC_FOR_ALLOC freed 15K, 5% free 27729K/29127K, paused 65ms
07-07 06:28:29.777: DEBUG/dalvikvm(92): GC_EXPLICIT freed 623K, 9% free 12691K/13895K, paused 6ms+13ms

____________

Alle Stellen mit:
INFO/System.out( ...
sind von mir; mit (z.B.) -> System.out.println("onDestroy ";); generiert.
...
Z.B.:
INFO/System.out(871): onPause
Kommt aus der onPause() Methode.

... usw.
OK. so

Das Ergebnis spricht ne klare Sprache!
Hier ist zu beachten die Reihenfolge (also die Laufzeit) zu verfolgen und dem entsprechend darauf zu reagieren -> Code anzupassen!

NUN!
Was ich nicht so nachvollziehen kann, ist:
Die Eclipse (IDE) kann sich selber nicht entscheiden, ob es die onDraw() Methode, wirklich die korrekte ist!
Hmmm - seltsam.
...
Etwas OT - sorry!
Nicht nur Java - sehr "streng ist" - und das ist GUT!
Wer die Notizen im php sich ausgedacht hat ..... brrrrrrrrr....
Wer mit vergleichbare Strategie (SuppressLint ... und Co. ...) uns alles ?Flexibel machen möchte .... brrrrrrrr ...
Von solchen & vergleichbaren "Sachen" aus anderen bereichen, würden wir uns sicherlich Heute Trennen - ZU SPÄT!!!!
Aber vielleicht bin ich in der Ansicht nur zu Konservativ? ....
...

FAZIT:
Du hast jetzt hiermit fast alles "auf dem Teller serviert bekommen".
Ab jetzt hat das Code- Validieren weniger mit Programmierung zu tun, sondern mit logischem Denken.
...
Obwohl ich dar (je mehr ich "daran Schraube";) so eine Vermutung habe, dass der Troll sich in dem Dialog Objekt versteckt!

Sollte ich die Zeit wieder finden, und das ganze zu Ende (irgend wann?) bringen, schicke ich den Dialog é ins Nirwana! Standart Menukomponente haben in einem Spiel (meistens ...) NICHTS zu suchen. (Aber wir schreiben den 2014 - ups ... hihihi )

LG
Georg

Ps.
Aber vielleicht einem "echtem androidaner" fehlt es auf;
- wie das Dialog mit dem ?UI ... Powerbutton "verzahn" im System ist?
Ich habe noch nicht in der Doku / API nachgeschaut, weil .... ich schmeiße es é raus!

Sorry für Gramatik & Stilistik Fehler.

Antworten