Tag: 内存泄漏

Cordova 3.7在每个本地电话上重复使用iframe

由于我已经升级到Cordova 3.7,所有本地调用都会将下面的iframe添加到DOM。 <iframe src="gap://ready" style="display: none;"></iframe> 为了排除我的现有代码影响cordova的可能性,我尝试用cordova CLI创build一个新的代码,添加控制台插件并在deviceready处理程序中的setInterval循环中调用console.log()。 因此,我在DOM中获得了大量的iframe。 我已经在iPad 3,iOS7上尝试过使用xCode 6构build应用程序。 有没有人遇到过这个问题? 谢谢。 更新: 相应的问题提交给cordova: https : //issues.apache.org/jira/browse/CB-8002这个问题应该在3.8版本中解决。

什么是CG栅格数据?

我试图在代码中发现另一个内存泄漏,我似乎无法弄清楚CG栅格数据是什么。 在启用自动快照的情况下浏览VM跟踪器时,CG栅格数据似乎是唯一增加的部分。 没有拨款的增加,这些也在稳步增加。 我不完全确定CG栅格数据是什么,也不知道如何修复它,但在这一点上越来越多的脚印最终导致内存错误和崩溃,所以它不好! 我做我自己的文字渲染(使用CoreText),所以我想这与它有关。 我也在加载图片? 以下是足迹的图像: 更新:这个问题仍然存在,但有趣的是,我可以将它与Uifoundations中的一个泄漏相关联,称为“NSConcreteGlyphGenerator”。 它似乎只发生在实际绘制的CoreText方法中的属性string上的“boundingRectWithSize:”方法。 具体而言,该行是: [displayString boundingRectWithSize:CGSizeMake( self.frame.size.width, self.frame.size.height ) options:0 context:nil]; 慢慢地跟踪它…

内存泄漏与UIWebView和Javascript

我正在尝试解决一些我的UIWebView导致的泄漏,无法find它们的原点,也没有解决方法。 我所做的是通过networking请求从networking获取一些内容,然后组装我的HTML并将其实时加载: NSString* body = <some HTML>; NSString* html = [NSString stringWithFormat:kHTMLTemplate, [self scripts], [self styles], body]; [_webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 每次有新的内容可用时,我再次执行loadHTMLString来刷新Web视图。 我重复使用相同的Web视图,相同的控制器,相同的一切。 仪器显示了一个非常奇怪的模式,其中所有泄漏的对象是各种大小的通用块,并且它们都没有附加任何信息:没有负责任的库,没有负责任的框架等。每次执行loadHTMLString时, loadHTMLString添加新的泄漏。 看来有关于UIWebView泄漏内存的几个线程。 我已经尝试了所有我发现的build议(例如,将NSURLCache设置为零,或重置它;我试图释放现有的UIWebView,并分配一个新的每次我有新的数据等),但没有任何帮助。 到目前为止,我的调查导致了一个清晰的结果:似乎只有当我加载到视图中的HTML包含一些Javascript时才会出现泄漏。 如果你注意到上面的htmlstring,它由几个组件组成; 一个是[self scripts] ,它是一个简单地返回的函数: return @"<script type='text/javascript' src='jquery-1.4.4.min.js'></script>" "<script type='text/javascript' src='jmy.js'></script>"; 如果我删除这个,没有泄漏。 但是当我向我的HTML中添加一个<script>标记时就会出现泄漏。 他们甚至出现,如果我只是简单地包括jquery文件(或任何其他js文件,对此): return @"<script type='text/javascript' src='jquery-1.4.4.min.js'></script>"; 所以,这个问题:有没有人知道这里发生了什么? 清楚地包括一个JavaScript文件到我的HTML是使UIWebView泄漏内存。 事实上,当我重用相同的UIWebView对象时,或者当我每次有内容时都实例化一个新的对象时,都会出现泄漏,这让我认为javascript文件必须以某种方式处理loadHTMLString ,从而导致泄漏。 有谁知道如何解决这个问题?

UIWebView泄漏,JS垃圾收集器和WebCore虚拟机

我一直在构build一个应用程序的浏览器function,显然与UIWebView工作。 当浏览器打开时,我已经看到了内存跳跃,这是有道理的,但是在泄漏configuration文件中,我看到了一些令人不安的结果: VM:JS垃圾收集器和VM:WebCore可清除的数据只是越来越多,我浏览。 更糟糕的是,当浏览器被释放,并且网页视图被释放时,这些对象仍然存在,占用6MB以上的内存。 我不知道如果我没有正确处理UIWebView,但是在解除分配UIWebView后,这个内存似乎存在问题。 在浏览器被释放之前,我会执行一些清理工作,因为在这篇文章中有详细的说明。但是这似乎没有什么区别。 有没有人有这个问题? 任何洞察力将是真棒。 我已经看到了一些与UIWebView内存问题已经相关的问题,但是他们没有具体的详细描述configuration文件的结果。

iOS的libsystem_c.dylib strdup内存泄漏NSZombie无法正常工作

请帮我追踪一下iOS内存泄漏。 谢谢! 我正在使用xCode 4.0.1,我试图激活NSZombie来跟踪内存泄漏,但似乎没有像以前一样工作,使用xCode 3.x 我无法找出内存泄漏的来源,仪器指出: 泄漏对象 – > GeneralBlock-32地址 – > 0x4c8600大小 – > 32字节负责的库 – > libsystem_c.dylib负责的帧/调用者 – > strup 在这一点上,我不知道如果我用NSZombie使用正确的方式与xCode 4,因为它不显示NSZombie选项,当我点击“我”的更多信息,在左边选项泄漏 。 观察 :我的iPhone应用程序播放实时streammms / wma以及有限时间的wmaáudio文件。 这个泄漏只发生在一个有限的wma文件中,但是当我从一个stream媒体播放源播放时没有结束时间。

skpaymentqueue canmakepayments内存泄漏检查

我运行Instrument检查我的应用程序中的Leaks 。 每次启动都会得到1次新的泄漏[SKPaymentQueue canMakePayments] ,即使没有付款的代码被调用。

在IOS中使用Web服务时会发生NSURLSession内存泄漏

我正在构build一个使用Web服务的应用程序,并从该Web服务获取信息,我使用NSURLSession和NSURLSessionDataTask 。 我现在在内存testing阶段,我发现NSURLSession导致内存泄漏。 这不是所有的泄漏。 这是我可以适应的图片。 以下是我如何设置NSURLSession并从Web服务请求信息。 #pragma mark – Getter Methods – (NSURLSessionConfiguration *)sessionConfiguration { if (_sessionConfiguration == nil) { _sessionConfiguration = [NSURLSessionConfiguration ephemeralSessionConfiguration]; [_sessionConfiguration setHTTPAdditionalHeaders:@{@"Accept": @"application/json"}]; _sessionConfiguration.timeoutIntervalForRequest = 60.0; _sessionConfiguration.timeoutIntervalForResource = 120.0; _sessionConfiguration.HTTPMaximumConnectionsPerHost = 1; } return _sessionConfiguration; } – (NSURLSession *)session { if (_session == nil) { _session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:[NSOperationQueue […]

为什么简单的网站崩溃在移动(iOS Safari和至less)?

我有一个非常简单,但很长的网站 – 很多可以滚动的文本。 这是一个文档站点,考虑到内容的性质(很多类似的简短条目),我决定一次显示所有内容,这样用户可以从条目滚动到条目,或者通过侧栏索引进行导航。 这是我喜欢的通用文档模型(例如Underscore , Backbone和LoDash )。 该网站是在这里: http : //davidtheclark.github.io/scut/ 。 您可以在这里查看预生产代码: https : //github.com/davidtheclark/scut/tree/master/docs/dev 。 这里的问题是: 对于许多用户来说,这个站点一直崩溃,他们的iOS浏览器 。 不是所有的用户(不是我); 但对于那些经历过这次事故的人来说,似乎还是一再发生。 (该网站也可能会导致一些人的Android手机死机,我不知道:有没有听说过任何Android用户。) 我希望有人能帮助我诊断,并可能解决这个问题。 我遇到的困难之一是我无法自己重现崩溃 – 不是在我自己的iOS设备上,而不是在Xcode模拟器上。 由于这个站点资源不是很重(大约70KB的负载),并且涉及的JavaScript很less,而且由于之前几次尝试解决这个问题的影响, 我猜测这个问题涉及到内存使用 – 那就是iOS浏览器正在崩溃,因为该网站要求太多的内存。 但我不确定这是个问题,如果是这样,我不知道我该如何解决这个问题。 我不知道接下来要尝试什么,我希望一些精明的StackOverflow专家有build议。 关于这个网站,这个网站看起来如此简单和基本,是什么使得网站的内存要求太高,导致浏览器崩溃呢? 它太长了吗? 是否有CSS难以呈现? 有没有JavaScript内存泄漏? 我对这个特定的网站感兴趣,所以我可以学会在未来的其他网站上预测和预防和/或诊断和修复类似的问题。 随时查看或贡献[Github问题]( 在这个Github问题 ,以及。 附录 以下是有关可能相关的网站的一些知识: HTML文档相对于其他网站的HTML文档来说是很大的 。 Unminified它看起来是〜225KB。 (我注意到LoDash文档更大 – 这个网站是否会让人们的手机崩溃?) 提供的HTML文档被缩小。 所服务的CSS和JS也被缩小了。 该网站使用Prism.js语法突出显示。 该网站使用颠倒来使平板电脑上的2滚动列布局工作。 固定和翻译屏幕上的<aside […]

内存泄漏:通过简单的设备运动logging稳定增加内存使用量

考虑这个简单的Swift代码,它将设备运动数据logging到磁盘上的CSV文件中。 let motionManager = CMMotionManager() var handle: NSFileHandle? = nil override func viewDidLoad() { super.viewDidLoad() let documents = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString let file = documents.stringByAppendingPathComponent("/data.csv") NSFileManager.defaultManager().createFileAtPath(file, contents: nil, attributes: nil) handle = NSFileHandle(forUpdatingAtPath: file) motionManager.startDeviceMotionUpdatesToQueue(NSOperationQueue.currentQueue(), withHandler: {(data, error) in let data_points = [data.timestamp, data.attitude.roll, data.attitude.pitch, data.attitude.yaw, data.userAcceleration.x, data.userAcceleration.y, data.userAcceleration.z, data.rotationRate.x, data.rotationRate.y, data.rotationRate.z] let […]

在iOS中泄漏内存

我运行了仪器的“泄漏”工具来testing我的应用程序是否有泄漏,并告诉我,我有一些泄漏。 我不是修理泄漏的专家,我想知道是否 我有一个泄漏,和 我该怎么办才能解决这个问题。