Có ai trùng hợp ngẫu nhiên biết cách tôi có thể làm trống bộ nhớ cache của ứng dụng iOS mà tôi đang phát triển không, tại thời điểm nó chuyển sang nền (applicationDidEnterBackground)? Tôi đã điều tra về NSCache nhưng tôi vẫn không thể hiểu làm thế nào tôi có thể lấy bộ nhớ cache để cơ bản loại bỏ/miễn phí nó?Làm trống bộ nhớ cache lập trình trong iOS
Trả lời
Đây có phải là những gì bạn đang nói đến không?
[[NSURLCache sharedURLCache] removeAllCachedResponses];
Bạn cũng có thể sửa đổi hành vi bộ nhớ cache của các yêu cầu để có bộ nhớ cache có chọn lọc phản hồi. Nếu bạn đang sử dụng AFNetworking
tình cờ, bạn có thể sử dụng setCacheResponseBlock
. Ví dụ. trong một dự án tôi đặt nó để trả lại nil
cho tất cả các tệp video và âm thanh lớn. Nhưng cho phép nó lưu trữ các tệp hình ảnh nhỏ hơn.
[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) {
return nil; // Ensures we are not unecessarily caching asset data to Cache.db
}];
Xin chào Alfie! Không chắc chắn nếu điều này sẽ làm việc với tôi. Điều duy nhất mà tôi cần là làm sạch bộ nhớ cache khi người dùng trong/iPad của mình gửi ứng dụng đến nền. Ví dụ, tôi nghĩ mật khẩu và dữ liệu nhất định luôn ở đâu đó trong bộ nhớ (khác với trình bao bọc móc khóa) vì lý do bảo mật, những dữ liệu này trong bộ nhớ phải được loại bỏ. Những gì tôi chưa biết là làm thế nào để chỉ ra chương trình của tôi bằng mã mà tôi cần phải lấy tất cả dữ liệu trong bộ nhớ cache và giải phóng nó. Tôi có giải thích cho bản thân mình không? Cảm ơn rất nhiều vì sự quan tâm của bạn. –
Có thông tin bổ sung này giúp tôi hiểu câu hỏi của bạn tốt hơn. Bạn có thể cho tôi một vài ví dụ về dữ liệu mà bạn muốn "xóa khỏi bộ nhớ cache trong bộ nhớ" bất kỳ cũng tại sao bạn cảm thấy cần phải xóa nó? –
Nếu bạn đặc biệt quan tâm đến bảo mật mật khẩu trong khi bộ nhớ, tôi gần như tích cực là không có cách nào để mọi người truy cập dữ liệu này từ bộ nhớ (nghĩa là không cần xóa nó/không phải lo ngại). Nếu bạn đã lưu trữ nó trong NSUserDefaults thì nó sẽ là một mối quan tâm. Ngoài ra, tùy thuộc vào nơi bạn tham chiếu đến mật khẩu tồn tại, bạn chỉ có thể đặt thuộc tính đó thành 0 khi nền. –
- 1. Android: Xóa bộ nhớ cache lập trình
- 2. Xóa bộ nhớ cache Sitecore cho một mục từ bộ nhớ cache lập trình
- 3. Làm cách nào để xóa bộ nhớ cache của trình duyệt theo lập trình trên iPhone?
- 4. Chính sách bộ nhớ cache iOS
- 5. Lập trình nhận biết bộ nhớ cache C++
- 6. Lập trình có kích thước dòng bộ nhớ cache?
- 7. làm thế nào để xóa bộ nhớ cache của trình duyệt theo lập trình trong jsp?
- 8. CakePHP 2.1: Bộ nhớ cache của trình duyệt vs Xem bộ nhớ cache
- 9. Trình xem bộ nhớ cache DNS DNS
- 10. Điều gì khiến bộ nhớ cache iOS 5.0 bị xóa?
- 11. Sự khác nhau giữa bộ nhớ đệm và bộ nhớ cache trống là gì?
- 12. Bộ nhớ cache, tắt bộ nhớ đệm
- 13. Làm thế nào để xóa bộ nhớ cache Kerberos theo cách lập trình
- 14. Làm thế nào để xóa bộ nhớ cache trên Trình giả lập Android Eclipse
- 15. Xóa bộ nhớ cache Magento
- 16. Làm mới bộ nhớ cache nền JPA
- 17. Tắt dịch bộ nhớ cache
- 18. Symfony2 tắt bộ nhớ cache?
- 19. ASP.NET - Vô hiệu hóa bộ nhớ cache của trình duyệt
- 20. Làm mới bộ nhớ cache của Akamai
- 21. Ngăn bộ nhớ cache trong CloudFlare
- 22. Bộ nhớ cache dành riêng
- 23. Làm cách nào để triển khai bộ nhớ cache hình ảnh trong bộ nhớ trong Android?
- 24. bộ nhớ cache chia sẻ bộ nhớ trong bộ nhớ actorecord
- 25. Mod_pagespeed xoá bộ nhớ cache?
- 26. Tắt bộ nhớ cache trong Apache Felix
- 27. Buộc xóa bộ nhớ cache
- 28. Làm cho tệp Silverlight XAP hết hạn khỏi bộ nhớ cache của trình duyệt theo lập trình
- 29. SDWebImage xoá bộ nhớ cache
- 30. Xóa bộ nhớ cache ActiveRecord
'[myCache removeAllObjects];' nên thực hiện thủ thuật. –
Cảm ơn câu trả lời của bạn. Làm thế nào tôi có thể khai báo/lấy giá trị cho "myCache"? Cảm ơn bạn lần nữa –
Bạn có thể - ví dụ - khai báo nó như bất kỳ thuộc tính nào khác: '@property (strong) NSCache * myCache' và sử dụng gần giống với' NSMutableDictionary'. Một số ví dụ ở đây: http://stackoverflow.com/questions/5755902/how-to-use-nscache –