什么是内存泄漏
只要是现代智能电子设备,不管或大或小,都会有一个叫做内存的硬件,在手机中这个硬件的参数尤为重要,是我们评价一个手机好坏的标准之一。
以Android手机为例,我们开发的程序如果想要运行起来,就需要开启一个独立的进程,而这个进程如果想要运行起来,就必须占用一部分的内存,这就是我们的应用和手机内存之间的关系了。
说到这里,我们就可以聊聊内存泄漏了(以下内容来自百度百科)。
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
内存泄漏缺陷具有隐蔽性、积累性的特征,比其他内存非法访问错误更难检测。因为内存泄漏的产生原因是内存块未被释放,属于遗漏型缺陷而不是过错型缺陷。此外,内存泄漏通常不会直接产生可观察的错误症状,而是逐渐积累,降低系统整体性能,极端的情况下可能使系统崩溃。
百度百科的解释已经很明白了,具体到程序方面来说,基本上就是该回收的对象由于一些原因无法正常回收,这样的对象越来越多导致手机的内存占用率居高不下,可用的空闲内存越来越少,从而频繁的触发垃圾回收机制,以至于降低了应用的流畅度,严重的时候会导致内存溢出(OOM Out Of Memory)的问题,导致程序崩溃。
至于什么是内存溢出,请自行搜索学习,该知识点不在本篇教程内。