Could not read input channel file descriptors from parcel

出现的问题:
1.AppData::create pipe(2) failed: Too many open files
2.javax.net.ssl.SSLException: Unable to create application data
3.RunTimeException-Could not read input channel file descriptors from parcel
为什么会出现:在recycleview中有一个按钮,疯狂点击请求网络多次就会出现。
原因:在Android8.0 系统上会出现,8.0系统设置了句柄数量一般不超过1024,由于多次请求网络数据(这里使用OKHTTP3获取网络数据),会出现以下情况:
a.网络不好时,一直提交请求,导致OKHTTP3疯狂创建文件,导致超出
b.网络好时,界面还未来得及刷新界面,再次发送网络请求
解决方法:在网络请求的时候,加上加载框,防止用户在请求的时候点击,同时,在界面刷新完成后取消加载框(由于在recycleview中不知道如何获取刷新完成,采取延迟2秒钟取消加载框)

如果有更好的解决方法,希望留言告知

你可能感兴趣的:(Could not read input channel file descriptors from parcel)