我有一个声明如下的属性:
@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];
如何保持强大的功能以便在我的其他功能上使用,但是可以阻止延迟推迟?
答案 0 :(得分:1)
1.你需要优化你在里面做的事情
// Function to add more view to _scroll
[self addStuff];
2。如果您能够显示加载状态,请将代码移至
viewDidAppear:
答案 1 :(得分:0)
您应该直接使用property而不是实例变量并调用autorelease
self.scroll = [[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 100.0)] autorelease];
始终尝试使用alloc init autorelease。如果自动释放仍不起作用,您可以简单地设置
self.scroll = nil
这将释放上面创建的实例变量