CALayer でシャドウなどを配置すると、ホーム ボタンをダブルタップして実行中のタスクを確認すると、アプリが遅くなります。ダブルタップするだけで、他のラグはありません。
このメソッドを 20 回呼び出して、20 個の画像を配置します。
- (UIView *)createImage:(CGFloat)posX posY:(CGFloat)posY imgName:(NSString *)imgName
{
UIView *myView = [[UIView alloc] init];
CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.shadowOffset = CGSizeMake(0, 3);
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = CGRectMake(posX, posY, 65, 65);
sublayer.borderColor = [UIColor blackColor].CGColor;
sublayer.borderWidth = 2.0;
sublayer.cornerRadius = 10.0;
CALayer *imageLayer = [CALayer layer];
imageLayer.frame = sublayer.bounds;
imageLayer.cornerRadius = 10.0;
imageLayer.contents = (id) [UIImage imageNamed:imgName].CGImage;
imageLayer.masksToBounds = YES;
[sublayer addSublayer:imageLayer];
[myView.layer addSublayer:sublayer];
return myView;
}
これを除くすべてのコードにコメントを付けたので、ラグはここから来ていると確信しています。また、割り当てツールで確認しましたが、アプリが 1Mo を超えたことはありません。影などのない画像を入れているだけの場合、すべて正常に動作します。