4

ここでの議論を見ると: http://monotouch.2284126.n4.nabble.com/UIImageView-td4303177.html

両方ともUIImage.FromFile()マップUIImage.FromFileUncached()imageWithContentsOfFile:れ、キャッシュされることは想定されていませんが、私の経験は異なり、 UIImage.FromFile() がキャッシュされることは確かです(Instrumentsで見たものから)。

ここのドキュメント (http://docs.xamarin.com/ios/tutorials/Working_with_Images) には、UIImage.FromBundle()キャッシュを行うと記載されていますが、そうでUIImage.FromFile()はありません。それはまだ本当ですか?FromFile()または、画像がアプリバンドル内にある場合にキャッシュする魔法はありますか?

誰かが正しい方法を明確にしてください:

  • キャッシングでUIImageをロードしますか?
  • キャッシュせずに UIImage をロードしますか?
4

1 に答える 1

7

UIImage.FromFileUIImage.FromFileUncached同一です。どちらも同じimageWithContentsOfFile:セレクターを呼び出します。

FromFileUncachedこれが行われた理由については、Xamarin のドキュメントで説明されています。

FromFile へのエイリアス。FromBundle と比較して、この呼び出しのキャッシュレスの性質に注意を引くために、より明確な名前を付けただけです。

歴史的に、このセレクターの元の API は という名前でしたがFromFileUncached、古い FromFileメソッドは - にマップされてimageNamed:いましたが、後のセレクターはバンドルからのものであるため、これは間違いであることが判明しました。

新しいFromBundleメソッドが追加され、API を壊さないように、FromFileと同じになりましたFromFileUncached

[Obsolete]メソッドに属性を追加します。FromFileUncachedこれにより、IDE 内で、つまりドキュメントを読まなくても、より明確になるからです。

誰かが正しい方法を明確にしてください:

FromFile[Uncached]キャッシュしませんFromBundle

于 2012-05-02T20:05:00.323 に答える