当线程退出时,为什么我的Android应用会崩溃?
在logcat
中,当我的应用崩溃时,我会看到以下输出。
D/dalvikvm: threadid=13: thread exiting, not yet detached (count=0)
D/dalvikvm: threadid=13: thread exiting, not yet detached (count=1)
E/dalvikvm: threadid=13: native thread exited without detaching
E/dalvikvm: VM aborting
我不确定是什么线程导致这个。该应用程序使用带有几个STL线程实例(std::thread
)的C ++库。以下是我如何使用库中的线程的示例:
std::thread thread([context] () { ... });
thread.detach();
该库在iOS,OS X和Linux上没有任何此类错误。我的猜测是错误不是因为缺少对std::thread::detach
的调用。
不确定是否相关:
gnustl_static
JavaVM::AttachCurrentThread
或JavaVM::DetachCurrentThread
我不知道该做什么或寻找什么。