Android 8 出现 A/libc: invalid pthread_t 0x7dd83384f0 passed to libc 奔溃

在Android 8.0, 调用 pthread_detach 后奔溃,出现奔溃信息如下:

A/libc: invalid pthread_t 0x7dd83384f0 passed to libc

A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 28040 (RxCachedThreadS)

后来看到网上说:

https://github.com/aosp-mirror/platform_bionic/blob/master/libc/bionic/pthread_internal.cpp

如图:

Android 8 出现 A/libc: invalid pthread_t 0x7dd83384f0 passed to libc 奔溃_第1张图片

原因:在Android 8.0 之后,即sdk 版本>=26之后,对检测到线程队列指针为空的情况下还去调用分离线程会出现异常。

解决方法:

获取当前系统版本,大于等于26的话,不再调用 pthread_detach


你可能感兴趣的:(iOS/android)