最近写了个简单的程序,有个http的请求需求,也不复杂,就集成个Volley做为网络请求框架。由于程序常驻后台运行,使用中发现运行时间长了,任务线程就不工作了。
开始我以为是线程异常退出了,但查看日志并没有发现有退出的痕迹,后来发现程序的线程数很多,经验证,是在使用volley发送请求时,每次都新建RequestQueue导致的,建议一个程序,用一个单例的RequestQueue,顺便学会了安卓线程的查看方法,基本和Linux一致。
首先用ps命令,过滤包名,找到APP的进程号18451
然后再过滤这个进程号就可以了,可以看到,我这个APP有59个线程
线程号和进程号一致的,是安卓的主线程,也就是UI线程,其他的都是子线程