LeakCanary 是 Android 和 Java 内存泄露检测框架,该框架是Square公司的一个开源库,项目地址 leakcanary 。
Android 开发中你是否频频遇到内存泄露而无奈无从解决。说不定哪天你不小心写的一行代码就导致了内存泄露。可以先看看这些问题导致的内存泄露 Android开发编码规范导致的内存泄露问题,而LeakCanary 则很直白得检测出了内存泄露并展示给我们...
分类:
移动开发 时间:
2015-08-27 11:15:05
阅读次数:
318
String可以说是最常用的Java类型之一了,但是最近听说JDK6里面String.substring存在内存泄露的bug,伙惊呆!一起来看看到底是啥情况吧。 这个是可以导致Exception in thread "main" java.lang.OutOfMemoryError: ...
分类:
编程语言 时间:
2015-08-26 14:09:32
阅读次数:
169
C语言指针和内存泄露常见的内存错误:1.内存分配未成功却使用了它。如果指针p是函数的参数,要在函数的入口处用assert(p!=NULL)进行检查;如果是用malloc来动态申请内存,应该用if(p==NULL)或if(p!=NULL)进行防错处理。2.内存分配成功,尚未初始化就使用它。3.内存分配..
分类:
编程语言 时间:
2015-08-26 00:01:28
阅读次数:
448
一、Java内存回收机制不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监...
分类:
编程语言 时间:
2015-08-25 16:23:44
阅读次数:
182
什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在C++中,因为是手动管理内存,内存泄露是经常出现的事情。而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存...
分类:
其他好文 时间:
2015-08-25 12:55:01
阅读次数:
185
第三方图片加载核心技术揭秘:揭秘如何去加载一张几十MB的图片而不导致内存泄露!下次有人问你Android加载图片如何防止内存泄露,你就别再说用ImagLoader或者Picasso等第三方开源库,而是告诉他其中的加载原理和缓存原理。...
分类:
移动开发 时间:
2015-08-21 17:15:55
阅读次数:
257
VS2010中的C++程序内存泄露检测
对于MFC程序是支持内存检测的。对于非MFC程序而言,CRT有一套内存泄露的函数,最常用的是 _CrtDumpMemoryLeaks();如下所示:
#include
int main() {
int *pInt = new int();
char *pChar = new char();
double *pDouble = new d...
分类:
其他好文 时间:
2015-08-21 13:35:49
阅读次数:
238
java虚拟机是通过垃圾回收的方式进行内存回收的,C/C++可以通过代码控制内存释放,防止内存泄露,设置不同的垃圾回收方式和参数都会影响垃圾回收的效果,而这对系统的稳定性及单机的支撑能力方面。 jvm指令集里面没有提供垃圾回收的释放操作,所以不能直接释放内存,而要专门的垃圾回收器来完成垃圾回...
分类:
编程语言 时间:
2015-08-21 10:48:57
阅读次数:
145
本文转载至http://my.oschina.net/sunqichao/blog?disp=2&p=3虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露...
分类:
移动开发 时间:
2015-08-21 06:57:41
阅读次数:
149
在前面C++中基于Crt的内存泄漏检测一 文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下。实际上很 多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄露,但是有没有证据,我们该怎...
分类:
数据库 时间:
2015-08-20 23:45:42
阅读次数:
345