Art*_*Art 2 java android file-descriptor linux-kernel
我公司有很多ui测试,可以在虚拟/真实设备上运行.运行一段时间之后测试随机崩溃,我认为这是文件描述符超出的结果:我用过
ls /proc/${PID}/fd | wc -l而lsof -p ${PID}
但它并没有帮助了很多-最lsof命令行的样子:
30015 u0_a104 678 sock 859560 socket:[859560]
30015 u0_a104 679 0000 0,8 4539 anon_inode:[eventpoll]
30015 u0_a104 680 0000 0,8 4539 anon_inode:[eventfd]
30015 u0_a104 681 0000 0,8 4539 anon_inode:[eventfd]
30015 u0_a104 682 0000 0,8 4539 anon_inode:[eventpoll]
30015 u0_a104 683 0000 0,8 4539 anon_inode:[eventfd]
30015 u0_a104 684 0000 0,8 4539 anon_inode:[eventpoll]
30015 u0_a104 685 0000 0,8 4539 anon_inode:[eventfd]
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:是否有任何android/java/linux instruments/utils找到泄漏源?
PS System.gc()没有帮助
我已经研究了这个问题了一段时间,想分享我发现的东西:
文件描述符在Android中至少用于:
如果你已经创建了一个HandlerThread,即使HandlerThread实例的最后一个链接将消失,线程仍然会工作并消耗FileDescriptor
可以看到android中的线程:
adb shell ps -t或只是ps -t| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |