-1

我有一个这样声明的属性:

@property (nonatomic, strong) UIScrollView *scroll;

然后我在viewDidLoad中:

// Create scrollview
_scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)];

// Function to add more view to _scroll
[self addStuff];

// This line makes things expensive on memory
[self.view addSubview:_scroll]; 

// Then if the above line is not commented out the view push lags
AViewController *aView = [[AViewController alloc] init];

[self.navigationController pushViewController:aView animated:YES];

我如何保持强大以在我的其他功能上使用但阻止推送滞后?

4

2 回答 2

1

1.你需要优化你在里面做的事情

// Function to add more view to _scroll
[self addStuff];

2. 如果您可以显示视图的加载状态,请将您的代码移动到

viewDidAppear:
于 2015-02-10T18:53:29.073 回答
0

您应该直接使用属性而不是实例变量并调用 autorelease

self.scroll = [[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)] autorelease];

始终尝试使用 alloc init autorelease。如果自动释放仍然不起作用,您可以简单地设置

self.scroll = nil

这将释放上面创建的实例变量

于 2015-02-10T20:38:29.003 回答