Ho e un'app per Android che richiede> = 5 secondi per essere visualizzata dopo aver fatto clic sull'icona.L'app impiega troppo tempo per l'avvio
Non appena faccio clic sull'icona, viene visualizzata la schermata nera con il nome dell'app nella barra di stato. Dopo 5+ secondi, viene visualizzata la schermata iniziale.
ho fatto riferimento this post su SO che e ho ottenuto il risultato di analisi dello stack
16:13:14.915: I/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=packageName/.SelectType }
16:13:14.954: I/SurfaceFlinger(59):
16:13:14.954: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->mIdentity=176, LayerName= Starting packageName
16:13:14.954: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->clientIndex=2, surfaceHandle->mToken=0x2
16:13:16.026: D/AnrParser(184): Waiting kernel log . . .
16:13:16.614: D/dalvikvm(6890): GC_FOR_MALLOC freed 12274 objects/785016 bytes in 135ms
16:13:17.784: D/dalvikvm(133): GC_EXTERNAL_ALLOC freed 415 objects/21624 bytes in 1285ms
16:13:17.914: D/dalvikvm(6890): GC_FOR_MALLOC freed 5762 objects/339024 bytes in 90ms
16:13:18.174: D/AnrParser(184): Waiting kernel log . . .
16:13:18.344: E/keystore(6966): chdir: /data/misc/keystore: Permission denied
16:13:19.693: D/dalvikvm(6890): GC_FOR_MALLOC freed 5994 objects/372624 bytes in 93ms
16:13:20.173: D/AnrParser(184): Waiting kernel log . . .
16:13:22.173: D/AnrParser(184): Waiting kernel log . . .
16:13:22.743: I/SurfaceFlinger(59):
16:13:22.743: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->mIdentity=177, LayerName= packageName/packageName.SelectType
16:13:22.743: I/SurfaceFlinger(59): SurfaceFlinger::createSurface() : layer->clientIndex=0, surfaceHandle->mToken=0x0
16:13:22.983: D/dalvikvm(6890): GC_FOR_MALLOC freed 21467 objects/1097728 bytes in 119ms
16:13:23.403: E/keystore(6973): chdir: /data/misc/keystore: Permission denied
16:13:24.173: D/AnrParser(184): Waiting kernel log . . .
16:13:24.923: W/ActivityManager(59): Launch timeout has expired, giving up wake lock!
16:13:25.264: W/ActivityManager(59): Activity idle timeout for HistoryRecord{47f56388 packageName/.SelectType}
16:13:25.403: I/ActivityManager(59): Displayed activity packageName/.SelectType: 10206 ms (total 10206 ms)
seguente Come si può vedere nel precedente registro, prima affermazione è 16:13:14.915: I/ActivityManager(59): Starting activity
ed ultimo è 16:13:25.403: I/ActivityManager(59): Displayed activity
.
Quindi c'è una distanza di ca. 10 a 11 secondi.
Qualsiasi aiuto apprezzato.
Cosa stai facendo nei metodi 'onCreate()', 'onResume()', 'onStart()'? Se fai un lavoro pesante lì, l'applicazione è destinata ad avviarsi lentamente. – nhaarman
anche se uso solo 'setContentView (R.layout.main);', quindi richiede anche molto tempo. Sto usando 'ViewFlipper' per la mia app che ha circa 50 schermi al suo interno. – GAMA
per favore pubblica il tuo codice per la tua attività di lancio – almuneef