3

わかりました、ios7 に深刻な問題があります。ユーザーがコントロールをドラッグするコードがあり、ドラッグすると、処理された画像でインターフェイスが更新されます。これは iOS 6.1 までは非常に高速でしたが、現在は非常に低速です。

私のコードの仕組みは次のとおりです。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //get initial position

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    //calculates new position

    applyEffects();

- (void)applyEffects {

    UIGraphicsBeginImageContext();
    //CGContextTranslateCTM, CGContextScaleCTM, CGContextDrawImage and stuff like that
    UIImage *blendedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    preview.image = blendedImage; //preview is a UIImageView

ログを記録した後、画面上で指を動かすたびに applyEffects が呼び出されることに気付きましたが、ビューが更新される回数は非常に少ないため、非常に遅く見えるのだと思います。

したがって、「preview.image = blendedImage;」の理由についてのアイデアはありません。もうビューを更新していませんか? 何か不足していますか?

繰り返しますが、これは iOS 7 でのみ発生します。

前もって感謝します!

4

1 に答える 1