最近项目出现了内存泄露的问题,对于PC x86平台来说,一点点的内存泄露往往不会出错,很难进行debug调试。这个时候我们可以用到苹果给我们带来的神器--Clang编译器来进行内存泄露分析检测,开关打开之后,生成出来的二进制文件对内存泄露的敏感程度非常高,只要有内存泄露基本就会立马停止并进行报错。....
分类:
其他好文 时间:
2014-06-28 21:19:46
阅读次数:
253
近期在定位问题时发现使用OleDb打开很大的Excel文件后,即使什么都不操作Colse掉,内存释放了部分,但是并未回到打开前的水平。在Excel150M,解压缩后900M的场景下,打开后直接Close,内存比打开前多了近90M。如果再次打开关闭,内存不会再增加。但是如果是依此打开多个不同的大型Ex...
分类:
数据库 时间:
2014-06-28 13:51:12
阅读次数:
258
TextWatcher会引起activity内存泄露。
EditText设置了addTextChangedListener的界面,要在onDestroy里调用removeTextChangedListener释放掉。...
分类:
其他好文 时间:
2014-06-22 21:07:39
阅读次数:
539
在之前的一篇博文<>中,我介绍了一种查找内核内存泄露的一种方法。这不才几个月,又有客户埋怨:使用了产品5天左右后,Suse服务器由于内存耗尽而Crash。O My God,不会吧,在我机器上跑的好好的哇(程序员常用名言 嘿嘿)。 那么就让我们一起来看看,苦逼的博主是如何确定问题并且找到问题的.......
分类:
系统相关 时间:
2014-06-22 18:51:54
阅读次数:
304
[Android][Memory Leak]InputMethodManager内存泄露现象及解决
现象:
在特定的机型天语k_touch_v9机型上,某个界面上出现InputMethodManager持有一Activity,导致该Activity无法回收.如果该Activity再次被打开,则旧的会释放掉,但新打开的会被继续持有无法释放回收.MAT显示Path
to gc...
分类:
移动开发 时间:
2014-06-22 18:17:48
阅读次数:
344
一般程序员()都会这样认为:用C#这样的语言编程的一个好处就是无需再考虑内存的分配和释放。你只需创建对象,然后通过一种叫做垃圾收集的机制来处理这 些对象,也就是说:当它们不再被应用程序需要的时候来自动的清除这些对象。这个过程意味着C#解决了其它语言中极难处理的问题──可怕的内存泄露。真的是 这样吗?...
分类:
其他好文 时间:
2014-06-18 18:17:55
阅读次数:
175
UIActionSheet在动画期间(ActionSheet button点击之后,到didDismissWithButtonIndex调用完成之前)设置delegate为空会导致delegate无法释放。
先来看个例子:
例子中创建一个UIActionSheet,并在按钮点击之后0.1秒(关闭动画结束前)设置delegate = nil。
#import "LIViewController...
分类:
其他好文 时间:
2014-06-16 12:27:39
阅读次数:
283
在《Effective Java 2nd
Edition》中,第6条“消除过期的对象引用”提到,虽然Java有
垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池、缓存中的过期对象都有可能引发内存泄露的问题。书中还提到可以用
WeakHashMap来作为缓存的容器可以有效...
分类:
移动开发 时间:
2014-06-16 09:17:26
阅读次数:
292
在后台进程弹Toast,使用方案有:由UI线程传入一个Activity參数、View參数或者Handler參数,使用Activity.runOnUiThread(Runnable)、View.post(Runnable)或者Handler.sendMessage()的方法。这样做有可能引发内存泄露。...
分类:
其他好文 时间:
2014-06-16 08:24:08
阅读次数:
460
c#和java中有自己主动垃圾回收机制,.net执行时和java虚拟机能够管理分配的堆内存,在对象失去引用时自己主动回收,因此在c#和jva中,内存管理不是大问题。c++语言没有垃圾回收机制,必须自己去释放分配的堆内存,否则就会内存泄露。
我相信大部分c++开发者都遇到过内存泄露的问题,而查找内存....
分类:
编程语言 时间:
2014-06-09 00:44:19
阅读次数:
329