[iOS/SWIFT]キャッシュを充電しよう
8233 ワード
今まで知り合ったケイシー。
この方法で充電して、ハイネシスで金持ちの生活を送っています.
(中学3年生の時に携帯電話で40万元チャージして追い出されたことがあります)
とにかく、今日はケイシーとケイシーについて知りましょう。
またお聞きしましょう.
次回はもう一度知ろうと思っていたのですが、炎上するような声援で使い続けました.かっこいい...
列を数える
コンピュータのパフォーマンスを向上させるメモリ。メインメモリとCPUの間にあり、繰り返し使用するデータを格納し、高速ロードします。
ネイサンで、繰り返し叫んだのはケイシー...充電できません.
放送局
キャッシュ領域にデータをインポートしてデータにアクセスすることにより、メモリ内のデータを計算し、より高速なCPUメモリ領域にインポートして処理を実行することをキャッシュと呼ぶ。事前にコピーされたデータにアクセスし、アプリケーションの処理速度を速めることができます。
💵 キャッシュを区別する条件
- 캐시는 클라이언트 서버 구분이 있나?
- Client-side caching
- Server-side caching
- 캐시는 어디에 저장할까?
- Disk Cache (하드 디스크에 저장)
- Memory Cache (메인 메모리에 저장)
- 또 다른 기준이 있나?
Memory Cache
メモリキャッシュは、アプリケーションのメモリ領域の一部をキャッシュに使用します.
アプリケーションを閉じてメモリから解放すると、保存されている内容が空になります.(入って、ゴミ箱🗑🗑)
SWIFTはキャッシュ機能をサポートし、
NSCache
を使用して実現できる.Disk Cache
ディスクキャッシュは、
FileManager
がデータを使用してディスクにファイル形式で格納します.デバイスに格納され、閉じてからアプリケーションを開いても、格納されたコンテンツは保持されます.
ex)ディスクキャッシュの例を参照すると、最も多くのKakaoTalkが表示され、友人たちが送った写真やビデオを見たい場合は、保存しなくてもダウンロードして見ることができます.これらのダウンロードされた写真およびビデオファイルがキャッシュに含まれており、容量が大きくなるにつれて、記憶領域を管理することで、記憶されたキャッシュデータを削除して空間を解放することができる.一度に完全にクリアしよう...👌🏻👌🏻
NSCache❓
NSCache
は、前述したように、主にiOSのメモリキャッシュに使用されます.正式な書類の定義から見ると、
一時的なストレージリソースが不足している場合に削除するkey-valueペアの可変セットです.そうなるとこれは何の话なのか、一、二、システムメモリが多すぎると処刑対象なのか、薄っぺらな世界なのか.
また,Cacheオブジェクトが他の可変集合と異なる点も指摘した.
(上記のようにメモリ不足の場合は削除できますが、削除後は再計算が必要です.)
NSCacheを使用した画像キャッシュ
すぐに追加しますが、、眠いので、
class ImageCacheManager {
static let shared = NSCache<NSString, UIImage>()
init() { }
}
extension UIImageView {
func loadImage(from imageUrl: String) {
let cacheKey = NSString(string: imageUrl)
if let cachedImage = ImageCacheManager.shared.object(forKey: cacheKey) {
self.image = cachedImage
return
}
guard let url = URL(string: url) else { return }
URLSession.shared.dataTask(with: url) { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
DispatchQueue.main.async {
guard let image = UIImage(data: data) else {
return
}
imageCache.setObject(image, forKey: cacheKey)
completion(image)
}
}.resume()
}
}
ㄴrの呵h sing政策?で...
最初はメモリで確認して、あれば出して、なければディスクから探します.でも保存されているものはありますか?その後、メモリにNSCacheとして登録し、ない場合はダウンロードします.ダウンロードが終わったら、両方をメモリとディスクに保存します!
これは、後でメモリから削除すると、ディスクに表示されるためです.
Reference
この問題について([iOS/SWIFT]キャッシュを充電しよう), 我々は、より多くの情報をここで見つけました https://velog.io/@allie/캐시-충전하러-가자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol