3

私のプロジェクトではNSTimer、1秒間に1000回呼び出しています。UIImageそれと同時に、いくつかの画像ビューでタップごとに5つのオブジェクトを割り当てていUIViewanimationます。私がその作業をしているときにNSTimer、数秒間フリーズするか、遅延します。1秒間に100〜120個以上UIImageViewのオブジェクトを作成しているため、なぜそれが起こっているのかを知っています.UIAnimationを呼び出していないときは、タイマーは問題ありません。iバックグラウンドで[performSelectorInBackground:withObject:] 実行UIViewAnimationしていましたが、その中で UIAnimation が機能していません。

NSTimerとの両方UIViewAnimationが UI に取り組んでいるので、メイン スレッドに取り組んでいます。私 は 彼ら に 別 の スレッド を 立てる こと が でき ませ ん . NSTimerと呼び出しが同時にフリーズするのを止めるにはどうすればよいですかUIViewAnimation。これらは計算負荷が高いためです。そのために別のスレッドを作成することはできません。それを機能させるために何ができますか。

ありがとう

4

1 に答える 1

0

これは、UIImageView内のアニメーションに使用しているPNG画像が原因で発生する可能性があります。

JPEG表現を使ってみませんか

UIImage *newImage=[UIImage imageWithData:UIImageJPEGRepresentation(myImage, 0.5)];

次に、pngよりもサイズが小さいnewImageを使用します。

于 2013-03-07T05:22:51.203 に答える