我使用Path的FastImageCache
庫(https://github.com/path/FastImageCache)爲了在UIImageView
s中使用緩存的預先調整大小的圖像。定義FastImageCache FICImageFormats的最佳做法?
要使用FIC,您需要定義FICImageFormat
,其中包含一系列數據,包括圖像大小。爲了獲得最佳性能,此圖像大小應該與圖像將被用於的UIImageView
的大小相同。
這引起雞與蛋類問題:應該設置的代碼FIC(在AppDelegate
中,或者你爲應用程序執行其他基本初始化工作的地方,大概?)知道其餘應用程序中UIImageView
的大小?這對你的應用程序的啓動代碼與UI實現細節非常緊密的耦合具有明顯的缺點。
另一種方法是,你可以有你的用戶界面實現定義這樣的方法如
+(NSArray *)imageFormats;
這將返回一個表示將由UI的該位需要所有圖像格式FICImageFormat
對象的陣列的協議。然後,啓動代碼只需知道哪些類實現了該協議即可獲得應用程序所需的完整圖像格式列表。
這第二種方法有可能重複FICImageFormat
S的缺點。對於具有相同尺寸的相同圖像格式族,使用兩個(或更多!)圖像格式將是非最佳的。然後你會多次緩存完全相同的數據。
您能想到的其他方法嗎?最佳實踐?歡迎所有的想法!