1

我的应用程序正在使用 NDK(在我的情况下为 4r-crystax)来处理来自相机的图像。问题是,它在工作几分钟后就会下降。我想可能有一些内存泄漏或类似的东西,但我不知道如何找出问题所在。这是围绕此错误的日志:

04-14 23:07:37.133: INFO/NATIVE CODE(14895): Detection percentage counted.
04-14 23:07:37.163: DEBUG/MDDetectorView(14895): Some debug info
04-14 23:07:37.193: DEBUG/dalvikvm(14895): GC_EXTERNAL_ALLOC freed 19 objects / 872 bytes in 27ms
04-14 23:07:37.283: INFO/NATIVE CODE(14895): Image to proccess loaded.
04-14 23:07:37.493: INFO/ActivityManager(92): Process com.motiondetector (pid 14895) has died.
04-14 23:07:37.493: DEBUG/CameraService(67): Client::~Client E (pid 67, client 0xad08)
04-14 23:07:37.503: INFO/WindowManager(92): WIN DEATH: Window{46590698 com.motiondetector/com.motiondetector.MDMenuActivity paused=false}
04-14 23:07:37.513: ERROR/CameraService(67): getClientFromCookie: client appears to have died

有任何想法吗?有什么有用的工具可以帮助我找到答案吗?

在处理本机代码期间,Android 是否可能会杀死屏幕活动?

4

1 回答 1

2

如果您使用的是 NDK r5 或更高版本,您可以使用该ndk-gdb脚本来运行您的程序并通过 GDB 连接到它。如果您的本机代码崩溃,它应该让您进入 GDB 命令行,在那里您可以检查导致问题的代码区域。

于 2011-04-14T22:54:42.327 回答