首页 >>> 公司新闻 >

公司新闻

内存泄漏以及常见的解决方法

 
    1. 什么是内存泄漏(memory leak)? 
    指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是 应用程序  分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
    2. 对于C和C++这种没有Garbage Collection 的语言来讲,我们主要关注两种类型的内存泄漏: 
    堆内存泄漏 (Heap leak)。对内存指的是程序运行中根据需要分配通过malloc,realloc new等从堆中分配的一块内存,再是完成后必须通过调用对应的 free或者delete 删掉。如果程序的设计的错误导致这部分内存没有被释放,那么此后这块内存将不会被使用,就会产生Heap Leak. 
    系统资源泄露(Resource Leak).主要指程序使用系统分配的资源比如 Bitmap,handle ,SOCKET等没有使用相应的函数释放掉,导致系统资源的浪费,严重可导致系统效能降低,系统运行不稳定。   
    3. 如何解决内存泄露? 
    内存泄露的问题其困难在于1.编译器不能发现这些问题。2.运行时才能捕获到这些错误,这些错误没有明显的症状,时隐时现。3.对于手机等终端开发用户来说,尤为困难。下面从三个方面来解决内存泄露: 
    良好的编码习惯,尽量在涉及内存的程序段,检测出内存泄露。当程式稳定之后,在来检测内存泄露时,无疑增加了排除的困难和复杂度。 
    使用了内存分配的函数,要记得要使用其想用的函数释放掉,一旦使用完毕。  
    
尊敬的客户:    
    您好,我司是一支技术力量雄厚的高素质的开发群体,为广大用户提供高品质产品、完整的解决方案和上等的技术服务公司。主要产品有3G模块回收、工厂库存回收等。
    本企业坚持以诚信立业、以品质守业、以进取兴业的宗旨,以更坚定的步伐不断攀登新的高峰,为民族自动化行业作出贡献,欢迎新老顾客放心选购自己心仪的产品。我们将竭诚为您服务!