誰かがNSCacheを使用する必要があるときに簡単に説明できますか?私はドキュメンテーションを読んで、私はそれを取得しません。同様に、NSCacheが役立つシナリオの例を教えてください。おかげさまで (ドキュメントで述べたように)NSCacheとは何ですか?
答えて
これは、以下の追加のもので、多かれ少なかれ、単に辞書のようなものです:
NSCacheクラスは、様々な自動削除ポリシーを組み込んで、それは使用しないことを保証する システムのメモリの が多すぎます。メモリが他の アプリケーションによって必要とされる場合、システム は自動的にこれらの ポリシーを実行します。呼び出されると、これらの ポリシーは、 フットプリントを最小限に抑えながら、 キャッシュからいくつかのアイテムを削除します。
キャッシュをロックすることなく、異なる スレッドからキャッシュ内のアイテムを追加、削除、およびクエリできます。
NSCacheオブジェクトから何かを取得すると、自動再生された 結果が返されます。
NSMutableDictionaryオブジェクトとは異なり、キャッシュには、入れられたキー オブジェクトのキーはコピーされません。
アプリケーションで作業する必要のあるデータがたくさんありますが、メモリ内にすべて保持することはできません。たとえば、SQL LiteデータベースやWebサービスからデータを取得したアプリを持っていたら、それを探し出してNSCacheに保存することができます。その後、再度必要になったときは、まずキャッシュを確認し、キャッシュにない場合はデータベースをヒットする必要があります。このシナリオでの標準的な辞書の使用の主な利点は、キャッシュに余分なものを置いてメモリをいっぱいにすると自動的にメモリを解放してメモリを解放するということです。
ありがとうございます。今ははっきりしています。 – sumderungHAY
これは、キーをコピーしないということは非常に興味深いことです。キーが設定された後、キーのアドレスやハッシュを比較したり、おそらくはまだハッシュです。私はこれをどこで使うことができるか考える必要があります。非NSCopying準拠キーを使用する以外。 –
面白いのは、ローカルのSQLデータベースから27kのエントリを取得し、NSCacheを使用して5秒間ではなく2秒未満で済むことです。ありがとうございました – Eugene
- 1. NSCacheの名前のプロパティ
- 2. NSCacheから特定のイメージを削除するには?
- 3. iosのNSCacheにデータを保存する方法は?
- 4. IPM.Noteとは何ですか?その用途は何ですか?
- 5. @privateとは何ですか?その用途は何ですか?
- 6. NSCacheの内容をディスクに保存する
- 7. コピーオンライトとは何ですか?
- 8. @AttributeOverrideとは何ですか?
- 9. スケジューリングジッタとは何ですか?
- 10. プログレッシブエンハンスメントとは何ですか?
- 11. 「ベンチテストコード」とは何ですか?
- 12. タイプセーフティとは何ですか?
- 13. 「ラムダリフティング」とは何ですか?
- 14. rgbReservedとは何ですか?
- 15. Sqliteとは何ですか?
- 16. tiny_free_list_add_ptrとは何ですか?
- 17. sun.jnu.encodingとは何ですか?
- 18. シリアライゼーションプロキシパターンとは何ですか?
- 19. シングルトンタイプとは何ですか?
- 20. パーマスペースとは何ですか?
- 21. 「スタックアライメント」とは何ですか?
- 22. グループリーダーとは何ですか
- 23. チークプレスイベントとは何ですか?
- 24. オントロジーエクスポータとは何ですか?
- 25. UIGobblerGestureRecognizerとは何ですか?
- 26. `CString`とは何ですか?
- 27. PictureListenerとは何ですか?
- 28. データベースセッションとは何ですか?
- 29. Microsoft.Practices.EnterpriseLibrary.Dataとは何ですか
- 30. DTDとは何ですか?
なぜお尋ねしますか?あなたはそれを何のために使いたいですか?何を見ていたのですか?要するに、あなたが解決しようとしている問題は何ですか? –
docsのクラスのリストをブラウズしていました。興味深いものを見つけました...特に理由はありません。 – sumderungHAY