簡體   English   中英

NSCache具有數百張圖像

[英]NSCache with hundreds of images

我有一個collectionView一次顯示9張圖像(200x300px)。 但是總數可以達到數百。

目前,我檢查cellForItem中是否有圖像在緩存中。 如果沒有,我將從文件系統中加載它並將其放入緩存中。

問題是:第一次滾動瀏覽集合時,它將丟幀,因為它仍在從文件系統加載圖像。 經過最初的滾動瀏覽后,黃油變得光滑。 (大約5秒鍾)

我想知道將所有(或前x個)圖像預加載到緩存中是否是一個好習慣?

我認為5s沒什么大問題,但我擔心5s會損壞舊硬件。

有什么想法嗎?

嘗試在后台執行磁盤加載機制。 您可以使用填充了加載操作的NSOperationQueue設置隊列。

將NSCache與預加載機制一起使用沒有太大意義,因為即使您預加載了所有映像,系統也可以並且會在認為合適的情況下驅逐該緩存。 在這種情況下,您進行預加載的工作無濟於事。

您是否看過SDWebImage 它已經包含an asynchronous memory + disk image caching with automatic cache expiration handling

而且,我通常會預先加載所有圖片以避免閃爍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM