Tag: 内存泄漏

ProgressDialog:如何防止泄漏的窗口

我正在使用ProgressDialog来防止用户在设备从互联网下载内容时进行交互。 一切工作正常,直到我的客户设法产生这个错误: "07-06 17:10:50.363: ERROR/WindowManager(8821): Activity android.pixelrain.framework.PixelRainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@463f3e50 that was originally added here 07-06 17:10:50.363: ERROR/WindowManager(8821): android.view.WindowLeaked: Activity android.pixelrain.framework.PixelRainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@463f3e50 that was originally added here 07-06 17:10:50.363: ERROR/WindowManager(8821): at android.view.ViewRoot.<init>(ViewRoot.java:251) 07-06 17:10:50.363: ERROR/WindowManager(8821): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 07-06 17:10:50.363: ERROR/WindowManager(8821): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 07-06 17:10:50.363: ERROR/WindowManager(8821): at android.view.Window$LocalWindowManager.addView(Window.java:424) 07-06 17:10:50.363: ERROR/WindowManager(8821): at […]

如何在Angular应用程序中捕获内存泄漏?

我有一个用AngularJS编写的Web应用程序,它基本上将API调查为两个端点。 所以,每一分钟它轮询,看看有什么新的东西。 我发现它有一个小的内存泄漏,我已经尽了最大的努力去find它,但我无法做到这一点。 在这个过程中,我设法减less了我的应用程序的内存使用情况,这非常棒。 没有做任何事情,每一个民意调查,你可以看到在内存使用(这是正常的)峰值,然后它应该下降,但它一直在增加。 我已经将数组的清理从[]更改为array.length = 0 ,我想我确定引用不会保留,所以它不应该保留任何这些。 我也试过这个: https : //github.com/angular/angular.js/issues/1522 但没有任何运气… 所以,这是两堆之间的比较: 大部分泄漏似乎来自(数组),如果我打开,是由API调用parsing返回的数组,但我相信他们没有被存储: 这基本上是这样的结构: poll: function(service) { var self = this; log('Polling for %s', service); this[service].get().then(function(response) { if (!response) { return; } var interval = response.headers ? (parseInt(response.headers('X-Poll-Interval'), 10) || 60) : 60; services[service].timeout = setTimeout(function(){ $rootScope.$apply(function(){ self.poll(service); }); }, interval * […]

为什么我在“操作”菜单上找不到“debugging托pipe内存”?

为什么我不能在操作菜单上find“debuggingpipe理的内存”,如本MSDN文章中所述: 分析.NET Framework内存问题 ? 我的Visual Studio: 它应该如何看待:

简单的jQuery Ajax调用在Internet Explorer中泄漏内存

我创build了一个每秒都可以进行Ajax调用的网页。 在Internet Explorer 7中,它严重泄漏内存(大约15分钟内20 MB)。 程序非常简单。 它只是运行一个使Ajax调用的JavaScript函数。 服务器返回一个空string,JavaScript代码不做任何事情。 我使用setTimeout来每秒运行这个函数,而且我正在使用Drip来观察这个事情。 这里是来源: <html> <head> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.4.2'); google.load('jqueryui', '1.7.2'); </script> <script type="text/javascript"> setTimeout('testJunk()',1000); function testJunk() { $.ajax({ url: 'http://xxxxxxxxxxxxxx/test', // The url returns an empty string dataType: 'html', success: function(data){} }); setTimeout('testJunk()',1000) } </script> </head> <body> Why is memory usage going up? </body> […]

经验丰富的Haskell开发人员在devise*时间如何处理懒惰?

我是一名中级Haskell程序员,拥有严格的FP和非FP语言的丰富经验。 我的大多数Haskell代码分析中等大的数据集(10 ^ 6..10 ^ 9),所以懒惰总是潜伏着。 我对thunk,WHNF,模式匹配和共享有相当好的理解,并且我已经能够用爆炸模式和seq来修复泄漏,但是这种简介和祈祷方法感觉肮脏和错误。 我想知道Haskell程序员在devise时如何接近懒惰。 我不是问如Data.ByteString.Lazy或foldl'; 相反,我想知道如何考虑导致运行时内存问题和棘手的debugging的较低级别的懒惰机制。 在devise期间,你如何思考thunk,模式匹配和共享? 你用什么样的devise模式和习语来避免泄漏? 你是怎么学习这些模式和习语的,你有没有好的参考? 你如何避免过早优化不泄漏的非问题? (2014-05-15修订时间预算): 你预算大量的项目时间来寻找和解决内存问题? 或者,您的devise技巧通常是否会避免内存问题,并且在开发周期的早期就会获得预期的内存消耗?

可以使用太多的静态variables导致Java中的内存泄漏?

如果我的应用程序有太多的静态variables或方法,那么按照定义,它们将被存储在堆中。 如果我错了,请纠正我 1)在应用程序closures之前,这些variables是否在堆上? 2)他们随时可以使用GC吗? 如果没有,我可以说这是一个内存泄漏?

如何防止node.js中的内存泄漏?

我们知道node.js为我们提供了强大的力量,但是强大的力量却承担着巨大的责任。 据我所知,V8引擎不做任何垃圾收集。 那么我们应该避免哪些最常见的错误,以确保没有内存从我的节点服务器泄漏。 编辑:对不起,我的无知,V8确实有一个强大的垃圾收集器。

什么导致.NET中的内存碎片

我正在使用Red Gates ANTS内存分析器来debugging内存泄漏。 它不断警告我: 内存碎片可能导致.NET预留太多空闲内存。 要么 内存碎片正在影响可以分配的最大对象的大小 因为我有强迫症,这个问题一定要解决。 什么是有助于避免内存碎片的标准编码实践。 你可以通过一些.NET方法进行碎片整理吗? 它甚至会有帮助吗?

内存泄漏Symfony2 Doctrine2 /超出内存限制

实际上我对symfony2和doctrine2的组合有很多麻烦。 我必须处理大量的数据集(大约2-3百万次的写入和读取),并且需要做很多额外的工作以避免内存不足。 我想出了两个要点,即“泄漏”内存(他们实际上不是真正的泄漏,而是分配很多) Entitymanager实体存储(我不知道这个真实的名字),它似乎像保持所有处理entites,你必须清除这个存储regulary $ entityManager->明确的() Doctrine QueryCache – 它caching所有使用的查询,我发现唯一的configuration是你能够决定你想要使用什么types的caching。 我没有find一个全局禁用既不是一个有用的标志为每个查询来禁用它。 所以通常使用函数禁用每个查询对象 $ qb = $ repository-> createQueryBuilder($ a); $ query = $ qb-> getQuery(); $查询 – > useQueryCache(假); $查询 – >执行(); 所以..这就是我现在想通了..我的问题是: 有没有简单的方法来拒绝Entitymanagerstorage的一些对象? 有没有办法在entitymanager中设置querycache的使用? 我可以在symonfony教义configuration中configuration这个caching行为吗? 如果有人对我有一些不错的提示,会很酷。否则,这可能会帮助一些菜鸟。 CYA

jQuery内存泄漏模式和原因

jQuery中有哪些标准问题或编码模式会导致内存泄漏? 我已经看到了一些与StackOverflow上的ajax()调用或jsonp或DOM删除相关的问题。 大部分的jQuery内存泄漏问题都集中在特定的问题或浏览器上,并且在jQuery中列出标准的内存泄漏模式会很好。 这里有一些关于SO的相关问题: 为什么jQuery泄漏内存如此糟糕? 简单的jQuery Ajax调用在Internet Explorer中泄漏内存 涉及jQuery Ajax请求的内存泄漏 networking资源: 如何使用jQuery.data将对象和数据附加到DOM,以避免内存泄漏问题 JavaScript中的内存泄漏模式