1. Nimm jetzt an unserem Geotel Note - Gewinnspiel teil - Informationen zum Note findest Du hier!
  1. sebush, 27.05.2012 #1
    sebush

    sebush Threadstarter Neuer Benutzer

    Hi leutz,

    ich bastel gerade an einer app die sich irgendwie nicht so ganz beenden will, und dadurch auch nach dem schließen akku verbraucht.

    die app brauch gps und internet.

    ich frage die gpsdaten ab und schicke diese mit einem Thread ins Netz. (damit es nicht laggt)

    beim schließen (onDestroy) versuche ich alles wieder auf null bzw die anfangswerte zu setzen, nur scheinbar macht die app irgendwie noch irgendetwas weiter.

    all meine versuche die app zu beenden schlugen fehl:
    Code:
    @Override
        protected void onDestroy() {
        	if(gps_on){
        		gps_on = false;
        		mlocManager.removeUpdates(gps_listener);
        	}        
            mlocManager = null;
            resetAllValues(); // setzt alles auf ausgangswerte zurück 
            stopThread();
            
            //this.finish();
            
            //super.onDestroy(); 
            
            //android.os.Process.killProcess(android.os.Process.myPid());
            
            System.runFinalization();
            System.runFinalizersOnExit(true);
            System.exit(0);
        }
    
        @SuppressWarnings("static-access")
        public void stopThread(){
        	if(is_thread){
        		thread.currentThread().interrupt();    		
        		Thread.currentThread().interrupt(); 
        		//tread.stop();		
        		thread.interrupt();					
    			//tread.destroy();
    			thread = null;
    			is_thread = false;			
    		}
        }
    gibt es außer finish, System..., und killProcess noch härtere methoden eine app und alles was dazu gehört zu beenden?

    wie kann ich erkennen woran das weiterlaufen liegt? (thread, oder was wess ich)

    hier mal noch meine inet-connection inkl thread:
    Code:
        public void serverData() {
        	final MainActivity self = this;
        	
    		server_runnable = new Runnable() {
    			public void run() {
    				try{
    		    		URL url = new URL("http://mydomain.de/index.php?long="+a_long+"&lat="+a_lat); 
    		        	URLConnection conn = url.openConnection();
    		        	InputStreamReader inputStreamReader = new InputStreamReader(conn.getInputStream());
    		        	BufferedReader rd = new BufferedReader(inputStreamReader);
    		        	
    		        	String line;
    		        	positions = new ArrayList<String>();
    		    		while ((line = rd.readLine()) != null) {
    		    			positions.add(line);
    		        	}
    		    		line = null;
    		    		
    		    		rd.close();
    		    		rd = null;
    		    		
    		    		inputStreamReader.close();
    		    		inputStreamReader = null;
    		    		
    		    		conn = null;
    		    		url = null;
    		    		
    		    	}catch(IOException e) {}	
    				
    				self.stopThread();
    				
    				try {
    					this.finalize();
    				} catch (Throwable e) {
    					// TODO Auto-generated catch block
    					// e.printStackTrace();
    				}
    			}
    		};
    		
    		stopThread();
    				
    		thread = new Thread(server_runnable, "serverThread");  
    		thread.start();	
    		is_thread = true;
        }
    ich hoffe ihr könnt mir helfen :)
     
  2. Fr4gg0r, 28.05.2012 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    android.os.Process.killProcess(android.os.Process.myPid());

    Das sollte deinen Prozess ohne wenn und aber killen.
    System.exit() im Prinzip auch, aber die obige Variante ist da sicherer.

    finish() schließt die derzeitige Activity, das beendet "bestenfalls" den derzeitigen UI-Thread.
     
  3. maniac103, 28.05.2012 #3
    maniac103

    maniac103 Android-Lexikon

    Was genau läuft denn 'irgendwie' weiter? In anderen Worten: Was genau ist denn das Problem?

    Gesendet von meinem MB525 mit Tapatalk 2
     
  4. sebush, 28.05.2012 #4
    sebush

    sebush Threadstarter Neuer Benutzer

    @Fr4gg0r: android.os.Process.killProcess(android.os.Process. myPid()); hab ich schon versucht, ändert aber nichts an dem verhalten

    @maniac103:
    ja wenn ich das wüsste^^
    wie bekomm ich das denn raus?
    ich kann nur feststellen, dass wenn ich die app beende und dann unter Einstellungen/Telefoninfo/Akkuverbrauch nachschaue, dass eben diese App weiter akku saugt.
     
  5. maniac103, 29.05.2012 #5
    maniac103

    maniac103 Android-Lexikon

    Woran genau machst du das an der Stelle fest?

    Gesendet von meinem MB525 mit Tapatalk 2
     
  6. sebush, 29.05.2012 #6
    sebush

    sebush Threadstarter Neuer Benutzer

    ich starte die app und beende diese, dann lade ich mein handy auf und zieh das kabel ab. nun sollte ja eig die app keinen akkuverbrauch in dieser statistik haben. tut sie aber leider ... und das auch immer wietder steigend ...
     
  7. mradlmaier, 30.05.2012 #7
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    mmmmmmm

    warum @SuppressWarnings("static-access") ?

    das unterdrückt zwar die Warnung und kompiliert, aber es gibt sicherlich einen Grund warum der Kompiler das reklamiert....???

    Auf jeden Fall machst Du da was, was Du so nicht machen solltest...

    Da ist irgendwo der Entwurf deiner Klassen nicht so wie er sein sollte...?
     
  8. sebush, 30.05.2012 #8
    sebush

    sebush Threadstarter Neuer Benutzer

    wenn ich raten müsste gibt er mir die warnung aus weil ich die deklaration als:
    private volatile Thread thread;
    ohne initialwert mache. lösche ich dieses
    @SuppressWarnings("static-access")
    geht die app aber trotzdem noch ohne probleme durchzuspielen, das eigentliche problem des akkusaugens bleibt aber leider bestehen :(
     
  9. maniac103, 31.05.2012 #9
    maniac103

    maniac103 Android-Lexikon

    Und was steht in den Details deiner App in der Verbrauchsstatistik? CPU? GPS? Wakelock?

    Gesendet von meinem MB525 mit Tapatalk 2
     
  10. sebush, 04.06.2012 #10
    sebush

    sebush Threadstarter Neuer Benutzer

    hmmmm scheinbar ist das nur ein bug meines lgos :)
    die cpu und gps zählen in der statistik zumindest nicht weiter hoch...
    komischerweiße zeigt mir das der akkuverbrauch zwar immer steigende werte an, aber ich glaube die laufzeit wird nicht beeinflusst (2tage durchgetestet und auch ein sonyericsson als gegenvergleich herangezogen ohne akkuverbrauchsanzeigenänderung)
     
Die Seite wird geladen...
Ähnliche Themen - Problem mit dem Forum Datum
[ERLEDIGT] Problem mit Async Task und auszuführender Aufgabe Android App Entwicklung 02.05.2017
[ERLEDIGT] Probleme mit Wear Modul Android App Entwicklung 01.05.2017
[OFFEN] Probleme mit SearchView in ArrayAdapter Android App Entwicklung 28.04.2017
Probleme mit NFC File Transfer Android App Entwicklung 21.01.2017
Problematik mit der Ausgabe von SQL Inhalten (ljava.lang) Android App Entwicklung 23.11.2016
Problem mit Thread bei Galaxy S5 und S6(Edge) Android App Entwicklung 23.09.2016
Probleme mit Android-Studio Android App Entwicklung 07.08.2016
Problem mit Android Studio Android App Entwicklung 21.07.2016
[OFFEN] WebView Probleme Android App Entwicklung Freitag um 23:26 Uhr
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017