除了服务器中的图像,我下载了几个文件。这些下载的文件使用 TTURLCache 进行缓存。在一段时间内,应用程序消耗的磁盘空间可能会增长。出于同样的原因,应用程序的设置中有一个功能可以选择性地清除缓存的信息。
在这篇文章的帮助下,我可以从服务器中删除与 URL 对应的本地磁盘中存储的文件。这将从该沙盒位置清除数据:“库/缓存/Three20”。
但是,我观察到如果我切换到离线模式,应用程序仍然能够拉取远程资源并呈现数据。此外,即使没有互联网连接,它也会将文件添加回“库/缓存/Three20”位置!经过进一步审查,我观察到有一个缓存数据库,从中获取请求:
“库/Caches/com.yourcompany.yourapp/Cache.db” “库/Caches/com.yourcompany.yourapp/Cache.db-shm” “库/Caches/com.yourcompany.yourapp/Cache.db-wal”
一切都很好,所以我测试了除了有选择地从“库/缓存/Three20”位置清除文件之外,我还必须有选择地从数据库中删除数据库条目:“库/缓存/com.yourcompany.yourapp/Cache.db ”、“库/Caches/com.yourcompany.yourapp/Cache.db-shm”和“库/Caches/com.yourcompany.yourapp/Cache.db-wal”。
我检查了代码,但我找不到将数据写入 Cache.db 的确切位置以及我应该在哪里清除其中的信息。
任何线索将不胜感激。