![](/img/trans.png)
[英]adobe air for android on flex: how do I delete all the application data?
[英]How do I debug a crash with a Flex/AIR Mobile application?
我有一个使用Android 3.2平板电脑上运行的4.5.1 sdk和AIR 2.7的flex应用程序。 在使用过程中,我可以使其定期崩溃。 通常是在List控件中快速滚动时。 我似乎找不到原因。
该应用程序将突然关闭。 它同时发生在调试和发行版本中。
在调试模式下,它只是与调试器断开连接,并且没有提供任何有用的信息。
我不知道如何调试它。 我可以使用哪些技巧?
我找到了“ adb logcat”命令。 不幸的是,以下日志中的相关信息对我来说意义不大。
I/DEBUG ( 85): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 85): Build fingerprint: 'asus/US_epad/TF101:3.2/HTJ85B/US_epad-8.6.5.9-20110816:user/release-keys'
I/DEBUG ( 85): pid: 2447, tid: 2447 >>> air.com.projectite.ProjectiteMobile <<<
I/DEBUG ( 85): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5a00923a
I/DEBUG ( 85): r0 59fe2008 r1 00628e8c r2 00025e3a r3 00628e8c
I/DEBUG ( 85): r4 006160e8 r5 8126c8d5 r6 bef8fb28 r7 002f8000
I/DEBUG ( 85): r8 04fe8000 r9 00628e80 10 02ed04fd fp 81eea9a0
I/DEBUG ( 85): ip 59fe3400 sp bef8faf8 lr 8126cb7f pc 8126cb48 cpsr 88000030
I/DEBUG ( 85): d0 00000000c0800000 d1 cb000004c0800000
I/DEBUG ( 85): d2 cb000004cb000000 d3 41f00000c0800000
I/DEBUG ( 85): d4 40f0000000000000 d5 40e0000000000000
I/DEBUG ( 85): d6 0000000000000000 d7 0000000000000004
I/DEBUG ( 85): d8 40f14c4000000000 d9 c059206affffff9b
I/DEBUG ( 85): d10 4263ddb6c2ca0354 d11 bfefeb3780000000
I/DEBUG ( 85): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 85): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 85): scr 2000001b
I/DEBUG ( 85):
I/DEBUG ( 85): #00 pc 0026cb48 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): #01 pc 00194054 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): #02 pc 001a2774 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): #03 pc 001aa5f8 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85):
I/DEBUG ( 85): libc base address: aff00000
I/DEBUG ( 85):
I/DEBUG ( 85): code around pc:
I/DEBUG ( 85): 8126cb28 69e01e42 7ce2ea22 bfa84281 6a601e41
I/DEBUG ( 85): 8126cb38 71e1ea21 f20cfb00 eb006920 46190c81
I/DEBUG ( 85): 8126cb48 0002f85c 2200eac0 2320eac0 f282fa3f
I/DEBUG ( 85): 8126cb58 f393fa3f b005c10c f04fbd30 80da0200
I/DEBUG ( 85): 8126cb68 805a809a e7f6801a 46204d05 92029103
I/DEBUG ( 85):
I/DEBUG ( 85): code around lr:
I/DEBUG ( 85): 8126cb5c b005c10c f04fbd30 80da0200 805a809a
I/DEBUG ( 85): 8126cb6c e7f6801a 46204d05 92029103 9301447d
I/DEBUG ( 85): 8126cb7c 9b0147a8 99039a02 bf00e7cd fffffd59
I/DEBUG ( 85): 8126cb8c 4604b530 b08568c0 d02f2800 42906a20
I/DEBUG ( 85): 8126cb9c 1e42bfd8 ea2269e0 428872e2 1e41bfd8
I/DEBUG ( 85):
I/DEBUG ( 85): stack:
I/DEBUG ( 85): bef8fab8 812a21e1 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): bef8fabc bef8fb00
I/DEBUG ( 85): bef8fac0 bef8fcf8
I/DEBUG ( 85): bef8fac4 00000001
I/DEBUG ( 85): bef8fac8 00000000
I/DEBUG ( 85): bef8facc 812a9c7f /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): bef8fad0 5be301d0
I/DEBUG ( 85): bef8fad4 00000001
I/DEBUG ( 85): bef8fad8 00000000
I/DEBUG ( 85): bef8fadc 00642f18
I/DEBUG ( 85): bef8fae0 000024b4
I/DEBUG ( 85): bef8fae4 aff13f17 /system/lib/libc.so
I/DEBUG ( 85): bef8fae8 006160e8
I/DEBUG ( 85): bef8faec 8126c8d5 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): bef8faf0 df002777
I/DEBUG ( 85): bef8faf4 e3a070ad
I/DEBUG ( 85): #00 bef8faf8 00d15114
I/DEBUG ( 85): bef8fafc 00628e8c
I/DEBUG ( 85): bef8fb00 0000002f
I/DEBUG ( 85): bef8fb04 000004fe
I/DEBUG ( 85): bef8fb08 00628e80
I/DEBUG ( 85): bef8fb0c 00616178
I/DEBUG ( 85): bef8fb10 00628e8c
I/DEBUG ( 85): bef8fb14 81194058 /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): #01 bef8fb18 00000000
I/DEBUG ( 85): bef8fb1c 812a5f9f /data/data/com.adobe.air/lib/libCore.so
I/DEBUG ( 85): bef8fb20 0061bc68
I/DEBUG ( 85): bef8fb24 81ea8ee0
I/DEBUG ( 85): bef8fb28 04fe0000
I/DEBUG ( 85): bef8fb2c 002f0000
I/DEBUG ( 85): bef8fb30 bef8ff3c
I/DEBUG ( 85): bef8fb34 00628e80
I/DEBUG ( 85): bef8fb38 ffffffa0
I/DEBUG ( 85): bef8fb3c 00000003
I/DEBUG ( 85): bef8fb40 00000000
I/DEBUG ( 85): bef8fb44 00000000
I/DEBUG ( 85): bef8fb48 0019fe40
I/DEBUG ( 85): bef8fb4c 02ed04fd
I/DEBUG ( 85): bef8fb50 81eea9a0
I/DEBUG ( 85): bef8fb54 811a2778 /data/data/com.adobe.air/lib/libCore.so
I/BootReceiver( 136): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
I/ActivityManager( 136): Process air.com.projectite.ProjectiteMobile (pid 2447) has died.
I/WindowManager( 136): WIN DEATH: Window{41c90270 air.com.projectite.ProjectiteMobile/air.com.projectite.ProjectiteMobile.AppEntry paused=false}
我不了解Android开发,但是上周我偶然发现了这个宝藏: http : //jpauclair.net/mm-cfg-secrets/
您可能会感兴趣的部分是这个。 这至少可以帮助您找到崩溃发生的位置。
AS3Trace = 1 | 0
这对于调试非常有用,它可以在运行时跟踪对SWF中正在调用的任何函数的每个调用! 这就像将StackTrace扩展到整个软件运行时间一样。
如果很难找到崩溃,则可以将其打开,您将看到导致崩溃的所有最后执行的函数。
您甚至可以看到计时器调用和事件回调!
您可以尝试以下几种方法:
首先尝试使用Flash Builder探查器对您的应用程序进行配置,然后查找内存泄漏。 是否有没有收集垃圾的物体? 您可能会发现一个明显的“快速修复”。
其次,您可以尝试从应用程序1 x 1中删除功能/屏幕,然后查看它们是否会对崩溃/性能产生影响。 如果您删除了某些东西并且它解决了问题,那么您可以磨练该代码以尝试对其进行优化,或者找出导致问题的原因。
我已经从头开始重建了应用程序,慢慢地添加了一些东西,直到发现什么是破烂的东西。 这很乏味; 但有效。
您可以查看很多“显而易见”的内容,例如用ActionScript替换MXML并删除绑定的使用,这通常会提高性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.