Tag: 内存泄漏

大量内存消耗:ImageIO_jpeg_Data

我有一个TableViewController显示一个用户的图像和一些文本每行的条目。 这个图像加载在“cellForRowAtIndexPath”方法中: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell : ApplicantsCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! ApplicantsCell {…} let image = UIImage(named: "avatar") cell.applicantImage.image = image if let applImage = applicant.image as PFFile? { applImage.getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) -> Void in if error == nil { let image = UIImage(data: imageData!) […]

运行时错误:__NSAutoreleaseNoPool():…自动释放没有到位的池 – 只是泄漏

当我编译我的iOS项目时,出现如下错误的错误列表。 2011-08-25 12:32:44.016 rtsp[55457:6003] *** __NSAutoreleaseNoPool(): Object 0x64095a0 of class __NSArrayM autoreleased with no pool in place – just leaking 看起来是因为以下function – (void) start { //Existing code session = [[RTSPClientSession alloc] initWithURL: [NSURL URLWithString: @"rtsp://video3.americafree.tv/AFTVComedyH2641000.sdp"]]; [session setup]; NSLog(@"getSDP: –> %@",[ session getSDP ]); NSArray *array = [session getSubsessions]; for (int i=0; i < [array count]; […]

如何在ViewDidLoad中从NSUserDefaults中得到一个无值的值

我有一个情况,当我viewControler启动viewDidLoad我不得不加载一些数据使用NSUserDefaults.standardUserDefaults()这不存在于这个分量。 当我点击send Button在相同的viewController时,我保存这些数据,当我再次打开这个viewController时,我需要这个数据。 现在看起来像这样: var orderHistory = [String:String]() vievDidLoad(){ let userDefault = NSUserDefaults.standardUserDefaults() let orderHistory = userDefault.objectForKey("orderHistory") if orderHistory == nil { self.orderHistory = orderHistory["name":"", "surname":""] as! [String:String] } else { self.orderHistory = orderHistory as! [String:String] { }// end viewDidLoad 在这一刻我收到一个信息,我有一个记忆问题。 我应该如何避免这种情况?

内存pipe理,ARC – 什么零?

背景 – 我正在项目上使用自动引用计数。 根视图是一个表视图(主/从设置),显示“幻灯片”列表。 点击一个表格单元格,然后你被带到由一个带有视图的滚动视图(viewController.view)组成的详细视图(这是“幻灯片放映”)。 每个幻灯片放映都有一个封面和封底(相同的视图控制器格式不同),它们夹着不同数量的页面。 以下是加载幻灯片的代码: – (void)loadScrollView { // The front and back cover are set in Interface Builder because they // are reused for every slide show, just labels are changed. [self.scrollView addSubview:self.frontCoverViewController.view]; [self.frontCoverViewController setCoverTitle:_data.name creationDate:_data.creationDate isFrontCover:YES]; [self.pagesArray addObject:self.frontCoverViewController]; for (int i = 0; i < [self getTotalNumberOfComps]; i++) { PageViewController *pageView […]

如何通过asynchronous或静态调用实现强大的保留循环?

我正在努力去掌握如何才能认识到一个强大的保留周期是可能的,并要求我使用[weak/unowned self] 。 我被不必要地使用[weak/unowned self]烧毁了,在给我机会使用它之前,我自己就被释放了。 例如,下面是在闭包中引用self的asynchronousnetworking调用。 可以在这里发生内存泄漏,因为networking调用是在不将自身调用存储到variables的情况下进行的? NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: url)!) { (data, response, error) in self.data = data ) 下面是使用NSNotificationCenter的另一个例子,可以稍后进行asynchronous调用: NSNotificationCenter.defaultCenter().addObserverForName( UIApplicationSignificantTimeChangeNotification, object: nil, queue: nil) { [unowned self] _ in self.refresh() } 我的问题是在什么情况下可能有强大的保留周期? 如果我在一个闭包中进行一个asynchronous调用或静态调用来引用self,是否会使它成为[weak/unowned self]的候选人呢? 感谢您排除这一点。

在SceneKit应用程序中CGImage相关的内存泄漏

我正在使用Scene Kit编写一个3D游戏。 当我在乐器中使用Leaksconfiguration文件时,发现存在泄漏。 对于第一个红十字图标,它说51个新的泄漏。 另外,如果你进一步查看泄漏检查区域,则会显示灰色的虚线图标,表示没有新的泄漏。 把它放在上下文中,我尝试在一个单位的游戏完成后再现一个场景,并使用当前的场景来presentScene… 。 这会在4到5个单位之后崩溃。 我得到了内存警告,因此我使用了泄漏configuration文件。 我不知道如何解决这个泄漏,因为我只使用SceneKit API而不是任何Core Foundation API。 如果有人有解决scheme,或者可以提供相关的指针来解决这个漏洞,那将是非常好的。

在提取请求中使用NSPredicate的内存泄漏来获取NSManagedObject

根据仪器,我在NSPredicate上有内存泄漏。 我怎样才能避免这种内存泄漏? 什么地方出了错? 代码如下:注意: 默认pipe理器是单身人士 self.editingContext是一个具有父上下文(主上下文)的子上下文, 这个函数(JobType)的输出是在NSManagedObject父类中使用的NSManagedObject(例如job.type = jobType) func defaultJobType() -> JobType? { let fetchRequest = NSFetchRequest(entityName: JobType.entityName()); let predicate = NSPredicate(format: "jobTypeID = %@ && (archived = nil || archived = 0)", DefaultManager.instance.defaultValues[DJobType]!.uppercaseString); fetchRequest.predicate = predicate; do{ return try self.editingContext?.executeFetchRequest(fetchRequest).first as? JobType; } catch let error as NSError { Logger.logApplicationError("Error in getting default […]

iAd UIImageView内存泄漏

使用仪器在设备上运行我的应用程序告诉我,iAd在UIImageView(即广告)上泄漏。 有谁知道这是什么和如何解决?

ios fmdb内存泄漏

嗨我问这个问题,我的朋友,正在努力解决这个FMDB内存问题。 他的项目从一个数据库中读取一个列表,他打开数据库并读取每个单元格的数据(这不是一个好主意,但他做了),在init中,init数据库队列, databaseQueue = [[FMDatabaseQueue alloc] initWithPath:_dbPath]; 在cellForRowAtIndexPath中,使用configCell来做事情 – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString * addressBookTableViewCellIdentifier = @"AddressBookTableViewCell"; AddressBookTableViewCell * cell = (AddressBookTableViewCell*)[tableView dequeueReusableCellWithIdentifier:addressBookTableViewCellIdentifier]; if (cell == nil) { // Create a cell to display an ingredient. cell = [[[AddressBookTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:addressBookTableViewCellIdentifier] autorelease]; cell.selectionStyle = UITableViewCellSelectionStyleBlue; } [self configCell:cell atIndexPath:indexPath]; return cell; […]

在NSTimer中调用AFNetworking会导致严重的内存泄漏

我试图debugging一个困难的内存泄漏。 在MyAppDelegate.m中,我有 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.notificationTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(syncNotifications:) userInfo:nil repeats:YES]; return YES; } – (void)syncNotifications:(NSTimer*)timer { NSString *path = @"http://example"; NSLog(@"GET: %@", path); AFHTTPRequestOperationManager *network = [AFHTTPRequestOperationManager manager]; [network GET:path parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"get success"); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; } […]