【发布时间】:2013-01-08 18:50:00
【问题描述】:
可能重复:
Drawing shadow with Quartz is slow on iPhone & iPad. Another way?
我创建了以下帮助方法来为我的 UIImageViews 添加阴影。它看起来不错,但我注意到它显着减慢了图形渲染速度,并且在旋转设备时看起来特别糟糕。我也偶尔收到Received memory warning.
- (void)addShadowToImageView:(UIImageView *)imageView;
{
imageView.layer.shadowColor = [UIColor lightGrayColor].CGColor;
imageView.layer.shadowOffset = CGSizeMake(0, 1);
imageView.layer.shadowOpacity = 1;
imageView.layer.shadowRadius = 1.0;
imageView.clipsToBounds = NO;
}
如何优化这种效果以提高性能?
【问题讨论】:
-
这是在较新的设备上吗?我知道旧设备在使用 CALayer 时确实很慢,但我没有看到新设备(iphone 4 及更高版本)的速度明显变慢
-
你多久调用一次这个方法?
-
您为什么不尝试构建您的项目进行性能分析,然后使用时间分析器查看一次使用最多 CPU 的部分?
-
在第四代 iPad 上测试。在 viewDidLoad 中调用 2-6 次。
标签: objective-c ios uiimageview