在程序里 new 了个对象,程序退出了,这个内存会不会被操作系统施放掉?
|
ysc3839Oct 20, 2017 via Android
1
肯定会的,不然的话内存很快就没了。
|
|
wevstyOct 20, 2017
2
会的,这就是操作系统干的活
|
|
hxndgOct 20, 2017
3
会的,所谓内存泄露往往发生在程序还运行的时候.
操作系统会在进程退出之后回收内存,你可以查一下孤儿进程的东西. ps 这个应该问 google,而不是问 V 站. |
|
biggray0312Oct 20, 2017
4
内存泄漏指的是程序申请了内存却因为种种原因没有得到释放, 进程结束后程序所占的内存也就被清理了.
|
|
vsyfOct 20, 2017 via Android
5
@all
请教下各位如果内存泄露的话该怎么查呢? 比如说一个守护进程创建录音线程来录音,出现问题的时候录出来的数据没有被及时写进磁盘,内存 buffer 一直在变大。 在一开始不知道愿意的情况下我该这么查呢? |
|
vsyfOct 20, 2017 via Android
6
愿意->原因
|
|
moonmagianOct 20, 2017 via Android
7
Google 一下就能出答案...无论什么平台下都有很方便的内存泄露检测工具,自己只用过 dmalloc,同类工具不少
|
|
8
@vsyf 一般来说是手动改写内存分配的模块,里面手动添加一个记录申请释放的内存管理器是最直接的方法,除此之外还有各种调试方式,不过这个也是应该问 google 的.
|
|
tabris17Oct 20, 2017
9
进程退出后所占用的内存就被标记为回收了。所以某些 python 的 WSGI 框架为了避免内存泄漏,可以设置接受多少次请求后重启进程
|
|
liuminghao233Oct 20, 2017 via iPhone
10
自己写个循环 new 十万个对象完事后退出就知道啦
|
|
littlewingOct 20, 2017
11
Valgrind
|