【问题标题】:iAD memory leakiAD 内存泄漏
【发布时间】:2012-04-26 00:11:25
【问题描述】:

这段代码泄露了:

   self.adView = ADBannerView* tempAddBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.adView.frame = CGRectOffset(adView.frame, 0, 416);
self.adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
self.adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
[self.view addSubview:adView];
self.adView.delegate = self;
self.bannerIsVisible = NO;

显然是因为 adView 从未被释放。哪里是最好的发布地点?

我修复它的尝试崩溃了:

  ADBannerView* tempAddBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    tempAddBannerView.frame = CGRectOffset(adView.frame, 0, 416);
    tempAddBannerView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
    tempAddBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;


self.adView = tempAddBannerView;
[tempAddBannerView release];
[self.view addSubview:adView];
self.adView.delegate = self;
self.bannerIsVisible = NO;

【问题讨论】:

    标签: iphone objective-c memory-leaks iad


    【解决方案1】:

    代码[self.view addSubview:adView]; 保留了UIView,因此您应该在该行之后安全地释放它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 2013-01-20
      • 2011-10-31
      • 2019-08-10
      相关资源
      最近更新 更多