は、おそらく私は他の人に頼まれたのと同じ質問をするつもりだ(しかし、それは何の応答がありません):
Speed up first UIImageView animation (force cache the images)
しかし、私の短い質問です:私はリソースで60枚の画像を持って
、時間間隔ループIでのその画像をアニメーション化し、毎回に設定します。UIImageView.imagen'th image from resouce。
問題は最初のアニメーションが悪いです!同じUIImageViewですべての画像を再びループすると、アニメーションは完璧です。 UIImageViewで画像をキャッシュすることはできますか?
編集:アニメーションを滑らかにするために、いくつかのトリックを作ることができますか?UIImageViewはイメージをキャッシュしますか?
答えて
を呼び出すことで画像をキャッシュします。 UIImageViewはありません。メモリ不足のためにクラッシュしていた画像がたくさんあるアプリで問題が発生しました。 画像をキャッシュしない[UIImage imageWithContentsOfFile:@""]
に変更した場合に修正します。
イメージをプリキャッシュするには、initメソッドで必要なすべてのイメージに対して[UIImage imageNamed:@""]
と呼んでください。しかし、メモリ警告が表示された場合、イメージの割り当てが解除されます。
いいえ、UIImageViewはイメージをキャッシュしません。 image
プロパティがretainとして宣言されているので、新しいイメージを設定すると、imageViewはrelease
メッセージを古いイメージに、retain
を新しいイメージに送信します。
UIImageViewをアニメーション化する最も簡単な方法は、プロパティanimationImages
に画像の配列を設定し、方法 [UIImage imageNamed:@""]
startAnimating方法
imageView.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"1.png"], ..., nil];
imageView.animationDuration = 2.0f;
[imageView startAnimating];
しかし、UIImageView.animationImagesを使用して850x535のサイズの画像100枚をアニメーション化しようとしたことがありますか?私はそれを試みました、メモリのためにアプリがクラッシュしました。私が考える理由は、animationImagesは多くのメモリであるすべての画像を保持しているからです。または、私は何か間違って言っているのですか?もしそうなら、私を修正してください。 Thx –
はい、私はあなたが正しいと思います。この方法は最も簡単ですが、効率的ではありません。 – beryllium
あなたは、グラフィックスライブラリを使用して大きな画像を再生し、パフォーマンスを良好に保てばよいと思いますか?何でも知ってますか? Thx –
UIImageViewは[UIImage imageNamed:@""]
のようにイメージをキャッシュしません。残念ながら、たくさんの画像がある場合、imageNamedはメモリ不足のためアプリケーションをクラッシュさせます。
[UIImage imageWithContensOfFile:@""]
を使用してNSArrayのすべての画像をプリロードすることができます。 配列を取得したら、必要な操作を行うことができます。
私はそれが奇妙だと思う!NSArrayはimageNamedによってキャッシュされた画像だけでなく、それ自身の中の画像のメモリも保持します。または? –
- 1. UIImageViewイメージ
- 2. UIImageView回転イメージ
- 3. UIImageViewにイメージを追加するには?
- 4. UIImageViewイメージを設定できません
- 5. イメージをキャッシュする?
- 6. イメージの配列を反復するUIImageViewを作成します。
- 7. IBActionは2番目のView ControllerでUIImageviewイメージを設定しますか?
- 8. UITableViewCellはUIImageViewを別のイメージに置き換えます。
- 9. CSSイメージのキャッシュ
- 10. HTML5では、イメージをプログラムでキャッシュに保存できますか?
- 11. IIS 6は静的イメージをキャッシュします
- 12. Asp.NET MVCイメージをキャッシュする
- 13. Swift 3:ボタンのイメージをUIImageViewのイメージに変更する方法
- 14. IOSの - 。scaleaspectfit UIImageViewのイメージ上のレイアウトUIImageViewのサブビュー
- 15. 別のビューのUIImageViewでイメージを設定
- 16. ブラウザは埋め込みベース64イメージもキャッシュできますか?
- 17. 別のUIImageViewを使用してUIImageViewをプッシュできますか?
- 18. イメージとUICollectionViewのキャッシュ
- 19. UIImageViewでタッチしますか?
- 20. PrimeFaces 6.0はクライアント側でイメージをキャッシュしません
- 21. イメージのサムネイルを作成し、キャッシュに保存します。
- 22. UIImageViewにイメージをロードしてコンテナのサイズを変更する - swift
- 23. Xcode、イメージはUIImageViewにロードされません
- 24. イメージをカメラロールからUIImageViewに設定する
- 25. イメージを含むウォニスニスのキャッシュ?
- 26. UIImageView + AFNetworkingは飛行機モードでイメージを読み込めませんか?
- 27. Amazon S3がイメージをキャッシュしない
- 28. イメージを解析してuiimageviewで表示する
- 29. UIImageViewイメージの割り当てとデバッグ
- 30. UIViewContentModeAspectFitでUIImageViewイメージが鮮明でない
たぶん、私たちはUIImageViewについてではなく、UIImageについて話しています – beryllium
申し訳ありません。答えを修正しました。 –
はい! 'imageNamed'を使ってアプリケーションをプロファイリングする際に、' imageWithContentsOfFile'メモリが15MBの場合、私のアプリは120MBのメモリを使いました。しかし残念ながら、それは悪いアニメーションの問題を解決しません( –