堆上未释放的内存会发生什么情况
What happens to unreleased memory on the heap?
如果我们错过了释放堆上分配的任何内存,该内存将永远不可用吗?因为释放它是开发人员的责任?如果没有,此时将释放内存?
在程序运行期间是的,该内存将不可用。
应用程序退出时,将释放所有内存。
应用进程分配的内存将被占用,直到进程终止。Android 会不时终止 SDK 应用的进程,以释放系统内存用于其他进程。这只会在您的进程在后台时发生(例如,用户按 HOME)。
相关文章:
- 将指针分配给另一个指针时会发生什么情况?
- 在什么情况下,两个堆栈分配的结构对象的 this 点指向同一个地址?
- 在什么情况下,我想在 C/C++ 代码中使用内联汇编代码
- 发生注入类名时会发生什么情况?(C++)
- 在什么情况下,需要共享智能指针而无法使用唯一指针?
- 重新分配向量时,向量中的内存会发生什么情况
- 如果结构中的字符串比使用的 p/调用签名长或短,会发生什么情况?
- 为什么或在什么情况下,你会将参数作为C++中的引用(或指针)传递给函数?
- 如果我向一个12字节的缓冲区写入的字节数少于12,会发生什么情况
- 如果我在 c++ 中以 new 的放置形式使用没有足够的内存,会发生什么情况?
- 初始化原子指针是原子的吗?如果初始化或内存分配引发,会发生什么情况?
- 如果在进程崩溃后在进程中分配内存,会发生什么情况
- 如果 new-handler 函数未正确编写或无法在 c++ 中释放更多内存,会发生什么情况
- 在参数中传递给 exec*() 函数系列的内存会发生什么情况
- 一个函数调用另一个函数时使用的内存会发生什么情况
- 如果我在 C++ 中调用 new,但堆内存不足,会发生什么情况
- 堆上未释放的内存会发生什么情况
- 将值分配给未分配的内存时会发生什么情况
- 如果算术运算的结果未存储在内存中会发生什么情况
- 如果其中一个进程意外死亡,进程间内存会发生什么情况