android - 致命信号 11 (SIGSEGV),代码 1,tid 17996 中的故障地址 0xef38 (pool-10-thread-)
问题描述
我正面临NDK错误。那是
致命信号 11 (SIGSEGV),代码 1,tid 17996 中的故障地址 0xef38 (pool-10-thread-)
我在做什么如下:
第一步: 在视图活动中:我正在从演示者调用函数并发送纬度,经度以通过演示者类中的反向地理编码找到地址:以下是函数
private fun getAddressObservable(latitude: Double, longitude: Double): Observable<List<Address>> {
val geoCodeObservable: Observable<List<Address>> = locationProvider.getReverseGeocodeObservable(latitude, longitude, 1)
return geoCodeObservable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}
private fun getAddressObserver(): DisposableObserver<List<Address>> {
return object : DisposableObserver<List<Address>>() {
override fun onComplete() {
Log.d(TAG, "Completed")
}
override fun onNext(t: List<Address>) {
val address = t[0].getAddressLine(0)
if (isSource) {
mainView.sourceAddress(address, latLng)
} else {
mainView.destinationAddress(address, latLng)
}
}
override fun onError(e: Throwable) {
Log.d(TAG, e.message)
if (isSource) {
mainView.sourceAddress(App.context.resources.getString(R.string.na), latLng)
} else {
mainView.destinationAddress(App.context.resources.getString(R.string.na), latLng)
}
}
}
}
现在第二步:当我在sourceAddress and destionationAddress
视图函数
中得到上述 API 的响应时.. 然后我调用另一个RESTAPI
override fun sourceAddress(address: String?,latLng: LatLng) {
sourceAddress= address.toString()
tvAddSource.text=address
tvAddSource.setTextColor(Utils.getColor(R.color.colorPrimary))
sourceLatLng=latLng
**mainActivityPresentator.getNearbyDriver(latLng.latitude,latLng.longitude,sourceAddress.toString())**
}
现在在演示者调用中:
override fun getNearbyDriver(latitude: Double, longitude: Double, address: String) {
getObservable(latitude,longitude,address).subscribeWith(getObserver())
}
private fun getObservable(latitude: Double, longitude: Double, address: String): Observable<NearbyDriversResponse> {
return ApiClient.getClient().create(ApiInterface::class.java).getNearbyDriversRequest(preferenceAdapter.getUserModel()?.id, preferenceAdapter.getUserToken(), latitude, longitude, address)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}
private fun getObserver(): DisposableObserver<NearbyDriversResponse> {
return object : DisposableObserver<NearbyDriversResponse>() {
override fun onComplete() {
Log.d(TAG, "Completed")
}
override fun onNext(@NonNull response: NearbyDriversResponse) {
response.status?.let {
when {
Objects.equals(it, ResponseMessages.RESPONSE_STATUS_SUCCESS) -> {
mainView.responseNearByDriver(response)
}
Objects.equals(it, ResponseMessages.RESPONSE_STATUS_FAILURE) -> {
response.message?.let {
mainView.failureMessage(it)
}
}
Objects.equals(it, ResponseMessages.RESPONSE_STATUS_ERROR) -> {
mainView.errorMessage(App.context.getString(R.string.invalid_token))
}
else -> {
mainView.errorMessage(App.context.getString(R.string.default_error_message))
}
}
}
}
override fun onError(@NonNull e: Throwable) {
e.message?.let {
Log.d(TAG,it)
}
mainView.apiFailure(App.context.getString(R.string.internet_connection_failure))
}
}
}
如果我停止调用getNearByDrivers
mainActivityPresentator.getNearbyDriver(latLng.latitude,latLng.longitude,sourceAddress.toString())
如果我开始调用此行,那么应用程序工作正常.. 然后几分钟后.. 应用程序抛出以下错误
致命信号 11 (SIGSEGV),代码 1,tid 17996 中的故障地址 0xef38 (pool-10-thread-)
我受够了。试图从 3 天解决。还是没有解决
注意:getAddress
API 被调用mMap.setOnCameraIdleListener()
在 API>= nougat 中解决的问题由android:hardwareAccelerated="false"
. 不适用于棒棒糖设备
解决方案
推荐阅读
- javascript - 设置字段相关 w
- spring - 在 webflux 中插入白标签错误页面的字符串?
- nodemcu - 在 micropython 中导入哪个库以在 esp8266 上传输 IR 代码?
- c - 按字母顺序对单词进行排序 C
- javascript - Google Charts:表格中列的自定义视图
- jmeter - 将带有空格的 CSV 中的手机号码作为参数传递给 Jmeter HTTP GET 请求
- server - 将计算机信息发送到不和谐机器人
- javascript - 莫里斯图表多色
- java - System.Deployment.Application.InvalidDeploymentException(ManifestParse)在部署spring rest项目时?
- swift - Swiftui navigationLink macOS 默认/选中状态