S
sebush
Neues Mitglied
- 0
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:
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:
ich hoffe ihr könnt mir helfen
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