【问题标题】:ARC Memory Management: random memory warningsARC 内存管理:随机内存警告
【发布时间】:2013-05-27 07:27:06
【问题描述】:

我不断收到随机崩溃说:

收到内存警告。 (lldb)

现在经过一番阅读,我发现这可能是由于内存管理,资源被充分利用而没有空闲。我认为在 ARC 中我们不需要释放内存和释放东西(它甚至不会让我们释放)我认为它自己完成了这一切。

我从一些文章和线程中看到,一个可能的问题是您定义 @properties 的方式,所以我有一些:

FirstViewController

@property (strong) FilterViewController *filterViewController;
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@property(nonatomic, retain) IBOutlet UILabel *sliderValue;

@property(nonatomic, retain) NSString *passedData;

@property int selectedTime;

FilterViewController

@property (nonatomic, retain) IBOutlet UIDatePicker *datePicker;
@property (strong, nonatomic) IBOutlet UILabel *stepperValueLabel;
@property (strong) FirstViewController *firstViewController;

【问题讨论】:

  • 你的问题是......
  • 查看this question,了解如何分析内存使用情况。
  • @trojanfoe 我的问题是如何在 ARC 中释放内存
  • 您在不使用对象引用时将其分配给nil

标签: ios objective-c memory-management automatic-ref-counting


【解决方案1】:

你的问题是Retain cycle.firstViewController对象是保留了filterViewController,而filterViewController对象是保留了firstViewController

@property (strong) FirstViewController *firstViewController; in FilterViewController 
@property (strong) FilterViewController *filterViewController; in FirstViewController

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 2013-06-08
    • 1970-01-01
    • 2011-11-14
    • 2023-04-01
    相关资源
    最近更新 更多