![](/img/trans.png)
[英]Parse: How to know whether a image file has been cached using PFImageView?
[英]How to know whether or not an image is still cached on the Watch
在WatchKit中,Apple為我們提供了大約20mb的空間來緩存圖像。
這個緩存在啟動時是持久的,並且當空間耗盡時圖像被驅逐。
問題是 - 你怎么知道圖像是否仍然在緩存中?
請考慮以下情況:使用鍵將圖像緩存到手表以供將來顯示。 當顯示圖像的時候,你怎么知道它仍然被緩存?
如果沒有辦法知道,那么你必須再次緩存它。 如果每次顯示它都必須將其發送到設備,這將完全破壞緩存的目的。
編輯 :API已更新以在iOS 8.2 beta 2中修復此問題。有關詳細信息,請參閱Dave的答案。
編輯2 :這在iOS 8.2 beta 3中完全修復。有關詳細信息,請參閱John的答案。
除了大衛的回答,這是值得注意的是,這里還有上WKInterfaceDevice,屬性cachedImages
,這對於運行的應用程序當前設備上返回的所有緩存圖片的一個NSDictionary。
字典中的每個條目都是一個NSString,其中包含與圖像關聯的名稱。 每個條目的值是一個NSNumber對象,包含圖像的大小(以字節為單位)。 當您需要刪除緩存中的圖像時,請使用此信息來幫助選擇要刪除的圖像。
使用iOS 8.2 Beta 2可以實現此功能。在B2中, -addCachedImage:named:
methods現在返回BOOL
。 如果圖像已添加到緩存,它將返回YES
如果不是,則返回NO
(因為已達到大小限制)。
操作系統也不會清除緩存; 您可以使用適當的-remove...
方法-remove...
清除它。
因此,如果您的擴展程序維護了它已發送到Watch的所有圖像的列表,那么您可以明確地知道緩存中的圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.