2017-03-08 3 views
-1

Ich habe eine App gebaut, die Informationen aus einer Stadt anzeigt.Android Aktivität wird automatisch geschlossen

Ich habe erfolgreich einige Tests mit meinem Samsung Galaxy S5 und auf einigen anderen Geräten mit dem integrierten Emulator von Android Studio durchgeführt.

Wenn ich zum Beispiel das Samsung S3 Mini (Android 4.1.2, 1GB Ram) verwende, öffnet es die erste Aktivität. In der Haupttätigkeit baute ich einen Schalter Case-Anweisung zu meinen anderen Aktivitäten zu bewegen:

switch (v.getId()) { 

     case R.id.aktuelles: 
      Log.d(Constants.TAG, "aktuelles wurde geklickt"); 
      i = new Intent(getApplicationContext(), NewsActivity.class); 
      startActivity(i); 
      finish(); 
      break; 

     case R.id.ideen_maengel: 
      Log.d(Constants.TAG, "ideen_maengel wurde geklickt"); 
      openSubMenu(ideen_maengel_sub, ideenmaengel_arrow_top, ideenmaengel_arrow_bottom); 
      scrollView.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        scrollView.smoothScrollTo(0, ideen_maengel.getTop()); 
       } 
      }, 1); 
      break; 

     case R.id.neue_meldung: 
      Log.d(Constants.TAG, "neue_meldung wurde geklickt"); 
      i = new Intent(getApplicationContext(), MaengelActivity.class); 
      startActivity(i); 
      break; 

Nachdem ich auf den Button klicken, um es in der Aktivität bewegt sich aber schließt sofort die Aktivität nach 2 Sekunden und fährt automatisch zurück zum vorherigen Hauptaktivität. Es sieht aus wie ein Heap-Problem, weshalb ich die Aktivität nicht zwischenspeichern kann.

Auf Geräten wie dem Samsung Galaxy S4 oder Geräten mit höheren API-Ebenen funktioniert es perfekt.

Hat jemand irgendwelche Ideen, wie Sie diesen Fehler beheben können?

Einige Benutzer haben das gleiche Problem mit folgenden Geräten:

  • Galaxy S3 Neo Plus-
  • HTC Desire 610
  • Galaxy S4 Mini
  • Xperia X Compact
+0

Gibt es einen Fehler in Ihrem Protokoll? Was ist deine nächste Aktivität "oncreate"? – pooyan

+0

WAIT_FOR_CONCURRENT_GC blockiert 1ms doppelte Zielanfrage ActivityRecord {ad37c7d8 u0 de.bluebox.dirk.casapp/.MenuActivity t2 f} START u0 {cmp = de.bluebox.dirk.casapp/.MenuActivity} von pid 2620 startActivity genannt von Nicht-Aktivitätskontext; Forciert Intent.FLAG_ACTIVITY_NEW_TASK für: Intent {cmp = de.bluebox.dirk.casapp/.MenuActivity} GC_FOR_ALLOC befreit 1059K, 10% frei 57284K/62992K, pausiert 4ms, insgesamt 6ms GC_FOR_ALLOC befreit 12873K, 25% frei 56954K/75536K, pausiert 6ms, insgesamt 6ms Angezeigt de.bluebox.dirk.casapp/.MenuActivity: + 205ms –

+0

START u0 {cmp = de.bluebox.dirk.casapp/.MenuActivity} von pid 2620 startActivity aus Nicht-Activity Kontext aufgerufen; Forcieren Intent.FLAG_ACTIVITY_NEW_TASK für: Intent {cmp = de.bluebox.dirk.casapp /.MenuActivity} Protokollierungsereignis (FE): _e, Bündel [{_ o = automatisch, _et = 1883, _sc = Menüaktivität, _si = -3993089302546656757}] –

Antwort

-1

Welche Taste macht dies? Welcher Schalterfall wird getroffen?

ich, es ist die erste Wette, das tut ...

startActivity(i); 
    finish(); 

^Warum tun Sie auf Fertig stellen? Ihre Aktivität wird pausiert, gestoppt und möglicherweise zerstört, nachdem Sie zu einem anderen gehen, müssen Sie nicht das aktuelle beenden.

+0

finish() war nur ein Test, um die vorherige Aktivität zu löschen, um den Heap zu bereinigen. Ohne Ende es funktioniert auch nicht. –

+0

Dann entfernen Sie es aus der Frage. Außerdem können Sie ein Crash-Protokoll in einem normalen Format bereitstellen, Ihre Frage bearbeiten und Ihr Problem erläutern. Wir können keine Zauberei ausführen und Ihnen sagen, warum Ihre App schließt, ohne den Code und das Absturzprotokoll zu sehen. Wenn du kein Problem hast, würdest du die Frage nicht posten, also die ganze _In der nächsten Aktivität 'oncreate' setze ich nur die ContentView, überprüfe die Internetverbindung und setze ein click-Ereignis für eine Zurück-Schaltfläche ein_ ist das natürlich nicht wahr, etwas was du machst ist falsch und wir haben versucht zu helfen. –

0

Wählen Sie einfach die Kein Filter Option in der Logcat. Sie können den Grund für die App in der Nähe finden. Dann kannst du es herausfinden.

Ich konfrontiert diese Situation, als ich versuchte, die Daten von der URL abzurufen, die nicht existiert.

Verwandte Themen