所以我在我的代码中有这个方法,它在我的应用程序中显示了一个非常好的加载器。我被告知的最好的方法就是使用UIImageView。
我设置了所有的参数,我想我已经覆盖了我需要的一切。加载器继续在我的应用程序的后台“旋转”,相应的UI元素根据我何时需要显示加载器来调整它们的alpha,在这种情况下是UITableView。
然而,当在iOS 7上进行测试并分析能源诊断和时间分析时,我发现这个应用程序占用了很多资源。有没有办法让这件事更有效率呢?
- (void)displayLoadingCircle:(BOOL)display {
UIView *placeholderView = [[UIView alloc] initWithFrame:self.view.bounds];
UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(94, 240, 125, 125)];
[animatedImageView setContentMode:UIViewContentModeScaleToFill];
[animatedImageView setAlpha:0.7f];
animatedImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"loader-1 (dragged).png"],
[UIImage imageNamed:@"loader-2 (dragged).png"],
[UIImage imageNamed:@"loader-3 (dragged).png"],
[UIImage imageNamed:@"loader-4 (dragged).png"],
[UIImage imageNamed:@"loader-5 (dragged).png"],
[UIImage imageNamed:@"loader-6 (dragged).png"],
[UIImage imageNamed:@"loader-7 (dragged).png"],
[UIImage imageNamed:@"loader-8 (dragged).png"],
[UIImage imageNamed:@"loader-9 (dragged).png"],
[UIImage imageNamed:@"loader-10 (dragged).png"],
[UIImage imageNamed:@"loader-11 (dragged).png"],
[UIImage imageNamed:@"loader-12 (dragged).png"],
[UIImage imageNamed:@"loader-13 (dragged).png"],
[UIImage imageNamed:@"loader-14 (dragged).png"],
[UIImage imageNamed:@"loader-15 (dragged).png"],
[UIImage imageNamed:@"loader-16 (dragged).png"],
[UIImage imageNamed:@"loader-17 (dragged).png"],
[UIImage imageNamed:@"loader-18 (dragged).png"],
[UIImage imageNamed:@"loader-19 (dragged).png"],
[UIImage imageNamed:@"loader-20 (dragged).png"],
[UIImage imageNamed:@"loader-21 (dragged).png"],
[UIImage imageNamed:@"loader-22 (dragged).png"],
[UIImage imageNamed:@"loader-23 (dragged).png"],
[UIImage imageNamed:@"loader-24 (dragged).png"],
[UIImage imageNamed:@"loader-25 (dragged).png"],
[UIImage imageNamed:@"loader-26 (dragged).png"],
[UIImage imageNamed:@"loader-27 (dragged).png"],
[UIImage imageNamed:@"loader-28 (dragged).png"],
[UIImage imageNamed:@"loader-29 (dragged).png"],
[UIImage imageNamed:@"loader-30 (dragged).png"], nil];
animatedImageView.animationDuration = 0.55f;
animatedImageView.animationRepeatCount = 0;
[animatedImageView startAnimating];
[placeholderView addSubview:animatedImageView];
[self.view insertSubview:placeholderView belowSubview:_tweetTable];
self.placeholderView = placeholderView;
_tweetTable.alpha = 0.0f;
}发布于 2014-07-31 05:50:53
原来我的帧率太高了(60fps),这使得iPhone做了太多的工作。将30帧的持续时间减少到1.0f,将每秒的帧数减少到30fps,这解决了我的问题。
https://stackoverflow.com/questions/25025151
复制相似问题