Ich habe und Android-App, die dauert> = 5 Sekunden nach dem Klicken auf das Symbol angezeigt wird.App dauert zu lange zum Starten
Sobald ich auf das Symbol klicke, erhalte ich den schwarzen Bildschirm mit dem Namen der App in der Statusleiste. Nach 5+ Sekunden wird der Startbildschirm angezeigt.
I this post auf SO bezeichnet, die ich von Stack-Trace folgende Ergebnis wurde
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)
Wie Sie oben log sehen in kann, ist der 1. Anweisung 16:13:14.915: I/ActivityManager(59): Starting activity
und letzte ist 16:13:25.403: I/ActivityManager(59): Displayed activity
.
Also gibt es eine Lücke von ca. 10 bis 11 Sekunden.
Jede Hilfe wird geschätzt.
Was machen Sie in Ihren 'onCreate()', 'onResume()', 'onStart()' Methoden? Wenn Sie dort schwere Arbeit verrichten, wird die App langsam an den Start gebunden. – nhaarman
auch wenn ich nur 'setContentView (R.layout.main);' verwende, dann dauert es auch lange. Ich verwende "ViewFlipper" für meine App, die ungefähr 50 Bildschirme enthält. – GAMA
posten Sie bitte Ihren Code für Ihre Startaktivität – almuneef