Autore Topic: completo restart di tutta l'app  (Letto 470 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
completo restart di tutta l'app
« il: 10 Giugno 2013, 10:29:57 CEST »
0
Salve a tutti,
mi spiace ma non riesco a spiegare bene questo errore spero che solo con il logcat magari potete darmi una mano, è un tentativo un po disperato
vi do un po di background:
Ho realizzato per lavoro un applicazione che esegue alcuni test di velocità a schermo acceso, alla fine dei test manda in sleep il telefono e spegne lo schermo. Dopo tot tempo riaccende il telefono e riparti con i test, e rifà questo giro per n volte.
il problema sorge che casualmente( o almeno io non vedo uno schema generale) mi crassa. Vi allego i logcat e speriamo che qualche guro mi possa aiutare con queste poche cose:

Codice: [Seleziona]
06-10 10:21:04.909: W/dalvikvm(3589): threadid=1: thread exiting with uncaught exception (group=0x40d19930)
06-10 10:21:04.909: E/AndroidRuntime(3589): FATAL EXCEPTION: main
06-10 10:21:04.909: E/AndroidRuntime(3589): java.lang.IllegalStateException: TimerTask is scheduled already
06-10 10:21:04.909: E/AndroidRuntime(3589):         at java.util.Timer.scheduleImpl(Timer.java:572)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at java.util.Timer.schedule(Timer.java:459)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at com.mambu.FtpTestAct.onStart(FtpTestAct.java:111)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.Activity.performStart(Activity.java:5114)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.Activity.performRestart(Activity.java:5169)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.ActivityThread.handleSleeping(ActivityThread.java:3280)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.ActivityThread.access$2700(ActivityThread.java:141)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1413)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.os.Handler.dispatchMessage(Handler.java:99)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.os.Looper.loop(Looper.java:137)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at android.app.ActivityThread.main(ActivityThread.java:5041)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at java.lang.reflect.Method.invokeNative(Native Method)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at java.lang.reflect.Method.invoke(Method.java:511)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-10 10:21:04.909: E/AndroidRuntime(3589):         at dalvik.system.NativeStart.main(Native Method)
06-10 10:21:06.339: V/FTPUPTEST(3589): ultima 1169.1177644710579

poi immediatamente mi da il successivo che penso sia generato dall'imprevisto che crea questo sopra
Codice: [Seleziona]
06-10 10:21:25.651: W/dalvikvm(4543): Exception Ljava/lang/RuntimeException; thrown while initializing Lcom/mambu/FtpTestAct;
06-10 10:21:25.651: W/dalvikvm(4543): threadid=11: thread exiting with uncaught exception (group=0x40d19930)
06-10 10:21:25.651: E/AndroidRuntime(4543): FATAL EXCEPTION: Timer-0
06-10 10:21:25.651: E/AndroidRuntime(4543): java.lang.ExceptionInInitializerError
06-10 10:21:25.651: E/AndroidRuntime(4543):         at com.mambu.ScadaAndroidActivity.StartALLTest(ScadaAndroidActivity.java:475)
06-10 10:21:25.651: E/AndroidRuntime(4543):         at com.mambu.ScadaAndroidActivity$4.run(ScadaAndroidActivity.java:415)
06-10 10:21:25.651: E/AndroidRuntime(4543):         at java.util.Timer$TimerImpl.run(Timer.java:284)
06-10 10:21:25.651: E/AndroidRuntime(4543): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
06-10 10:21:25.651: E/AndroidRuntime(4543):         at android.os.Handler.<init>(Handler.java:197)
06-10 10:21:25.651: E/AndroidRuntime(4543):         at android.os.Handler.<init>(Handler.java:111)
06-10 10:21:25.651: E/AndroidRuntime(4543):         at com.mambu.FtpTestAct$1.<init>(FtpTestAct.java:50)
06-10 10:21:25.651: E/AndroidRuntime(4543):         at com.mambu.FtpTestAct.<clinit>(FtpTestAct.java:50)
06-10 10:21:25.651: E/AndroidRuntime(4543):         ... 3 more
« Ultima modifica: 10 Giugno 2013, 11:38:30 CEST da mambu »

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:problema non riesco a essere specifico, mi spiace
« Risposta #1 il: 10 Giugno 2013, 10:43:16 CEST »
0
java.lang.IllegalStateException: TimerTask is scheduled already

Il timertask lo inizializzi più di una volta, e questo genera l'errore. Ma senza codice è dura aiutarti
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:problema non riesco a essere specifico, mi spiace
« Risposta #2 il: 10 Giugno 2013, 10:51:12 CEST »
0
si hai ragione me ne ero accorto dopo che avevo postato e ci stavo lavorando.
Tutto dipende da questa sovrapposizione quindi?
non riesco a postare il codice perchè è abbastanza impestato:(

Post unito: 10 Giugno 2013, 11:38:10 CEST
Ok, mi è venuto in mente una soluzione, se potessi resettare l'app come se fosse un suo pormo avvio ogni volta che il telefono si riaccende riuscirei a risolvere il problema delle sovrapsozioni di timer.
non è possibile resettare l'app e fargli credere di essere stata appena riavviata?
« Ultima modifica: 10 Giugno 2013, 11:38:10 CEST da mambu, Reason: Merged DoublePost »