记录一个句柄泄漏的bug

322 阅读2分钟

在Android开发里面,网络检测是否在线的是常有的需求,然而稍稍不小心就会造成难以预测的bug。我就是这样,所以写个记录提醒一下自己, 主要原因就是用了progress去ping一个百度的网址,根据返回做提示,一开始,这还不简单吗,网上随便百度一个过来用,一开始用着没问题,就不管了,然后不久,测试小姐姐说,这机器放在那里过了不久就自己崩溃了。崩就崩了呗,连上adb 找找哪里错了, 。。。。。 扫描了好几遍,没有什么AndroidRuntime exption呢,找来找去,看到一个native crash,不是吧,这什么鬼,在看看,open too many file,打开文件太多,啥,哪里打开文件了,实在是百思不得其解啊。谷歌一番看看,blog.csdn.net/cfc12435706… ,于是到了这里,按着上面的来操作咯,于是一顿操作猛如虎,一看战绩0-5,还是一脸懵逼。在找找 www.cnblogs.com/dongweiq/p/…
看到最后,线程,io流,这些的是重点要查的。于是查代码呗。找来找去,所有io流都关了,现在又陷入了沉思,到底哪里出了问题, 哪里会打开线程呢,哪里还用到io流这种呢,而且出现崩溃后,网络请求还不能用了,怎么请求都是返回失败,老子wifi好好的,用热点也是好好的,怎么就这样了, 跟网络有关的不就是网络检测吗,在去检查一下代码。果然,progress使用后没有destroy啊啊啊啊啊啊啊啊啊

##总结:这里主要还是注意使用系统资源一定要主要关闭或者销毁就行了。写代码一定万分小心啊