出現(xiàn)的問(wèn)題:
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
為什么會(huì)出現(xiàn):在recycleview中有一個(gè)按鈕,瘋狂點(diǎn)擊請(qǐng)求網(wǎng)絡(luò)多次就會(huì)出現(xiàn)。
原因:在Android8.0 系統(tǒng)上會(huì)出現(xiàn),8.0系統(tǒng)設(shè)置了句柄數(shù)量一般不超過(guò)1024,由于多次請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)(這里使用OKHTTP3獲取網(wǎng)絡(luò)數(shù)據(jù)),會(huì)出現(xiàn)以下情況:
a.網(wǎng)絡(luò)不好時(shí),一直提交請(qǐng)求,導(dǎo)致OKHTTP3瘋狂創(chuàng)建文件,導(dǎo)致超出
b.網(wǎng)絡(luò)好時(shí),界面還未來(lái)得及刷新界面,再次發(fā)送網(wǎng)絡(luò)請(qǐng)求
解決方法:在網(wǎng)絡(luò)請(qǐng)求的時(shí)候,加上加載框,防止用戶(hù)在請(qǐng)求的時(shí)候點(diǎn)擊,同時(shí),在界面刷新完成后取消加載框(由于在recycleview中不知道如何獲取刷新完成,采取延遲2秒鐘取消加載框)
如果有更好的解決方法,希望留言告知