2

ディスクにキャッシュするために、それぞれ約500 KBの約 136 枚の画像を取得しています。

画像 #98 をダウンロードした後、残った画像に対して次のエラーが発生し始めました (これにより、画像がキャッシュされていないと思われます)。

2015-07-29 09:52:44.471 MyProject[299:3418965] [HANEKE][ERROR] Failed to get data for key https://s3.amazonaws.com/my_bucket/my_image_n_99.jpg
Jul 29 09:52:45 my.host.net MyProject[299] <Error>: CGBitmapContextInfoCreate: unable to allocate 31492608 bytes for bitmap data
MyProject(299,0xb039f000) malloc: *** mach_vm_map(size=31494144) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

私の最初の推測では、メモリ キャッシュがいっぱいになったので、次の実装があるのでHanekeSwiftCache.onMemoryWarning()呼び出しました (作成する必要がありました)。public

for (_, (_, memoryCache, _)) in self.formats {
    memoryCache.removeAllObjects()
}

しかし、私がそれを呼び出したとしても(おそらくメモリキャッシュをクリアする必要があります)、それでもエラーが発生するため、何が問題なのかわかりません。

何か案は?

4

2 に答える 2

0

私は同じ問題を抱えていましたが、あなたと同じようにCache.onMemoryWarning() を公開してから、メソッドdidRecieveMemoryWarning( ) で Shared.imageCache.onMemoryWarning()を呼び出しました。

そしてそれは働いた!

于 2016-02-01T12:04:01.440 に答える