我的应用程序正在使用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是否有可能杀死屏幕上的活动?
答案 0 :(得分:2)
如果您使用的是NDK r5或更高版本,则可以使用ndk-gdb
脚本运行程序并通过GDB连接到该程序。如果您的本机代码崩溃,它应该会让您进入GDB命令行,在那里您可以检查导致问题的代码区域。