/ cache

借 CacheClearer 这款插件谈谈缓存好不好,要不要清

插件基本信息

CacheClearer 是 Ryan Petrich 近日发布的一款清理缓存的插件。说到「缓存」很多人都一个反应,该清。可是,缓存到底是什么,它们占着我储存空间干嘛?

在 iOS 中,每个软件都有个自己玩耍的沙盒,软件把网络上下载来的数据放到沙盒的 Cache(缓存) 里,把用户产生的数据放到沙盒的 Documents(文档)里。前者(缓存)不会备份到 iTunes 或 iCloud 中,后者因为保存着重要的用户数据,所以会备份下来以备不时之需。那,是不是说缓存不重要,我们要随时清理呢?

TL;DR

一般情况下我们不需要手动清理软件的缓存,除非你急需空出闪存空间并且不希望把软件删除,而且无所谓删除缓存后可能带来的严重后果。

如果你只想了解插件的特性,请点击这里

缓存里有什么?

以墨客(或者任何一个微博客户端 )为例。缓存里有你上个星期看过的一张图片,有今天早上打开过的网页的静态文件,有你上次关闭软件前最后一次刷新留下的微博,有私信里的图片,有好友的头像……这些文件都有一个共同的特点:有可能浏览第二次,甚至第十次;他们都是可以被重复下载的。3G 流量有限,我们不希望重复下载同一个文件,所以就设计了缓存这个特性,让你加载一次之后就能重复使用这些保存在本地的文件。时间长了之后,这些文件越积越多,有时候甚至会有几百兆。

怎么处置缓存?

如果是一个涉及网络访问的 App,在有设计缓存的情况下它必然会无止境地增多,任何一个有常识的开发者都会在这时考虑如何处置(注意,不是清理)这些缓存文件,不论是自动清理,还是提供一个按钮让用户手动清理,还是保留在储存空间里。一些开发者可能因为各种原因,无法实现一套完美的清理机制,则只好让它们静静地躺在缓存里,直到你删除这个软件,或者恢复手机。剩下的情况就是某个无知的程序员开发了一个不能清理缓存的 App,慢慢地吞噬着你的闪存。所以大家也能够看出,遇到最后一种情况的机会是少之又少的。你又想,哪个开发者会任由应用存着你一个月前看过的图片,这不是吃错药了吗。

说到这里就要举个栗子了 —— Tweetbot。Tweetbot 提供了自动和手动清理两种办法,只不过很尴尬,这两种清理方法有的时候也不尽人意,一些用户在官博下抱怨软件占用了大量空间,唯独删除软件才能释放。官方一开始都会建议使用应用内的手动清理功能,效果不明显再重新安装应用。笔者也尝试着手动清理缓存,结果一点效果都没有,甚至还变大了……我是个 Tweetbot 的重度用户,清理前的占用为60兆,如果不自动清理不可能才这么点的。不论如何,我是不用担心 Tweetbot 缓存占用过大的。

[![Tweetbot 的大小反而变大了](https://jbguide-pic.b0.upaiyun.com/wp-files/2015/01/tweetbot.jpg)](https://jbguide-pic.b0.upaiyun.com/wp-files/2015/01/tweetbot.jpg)Tweetbot 的大小反而变大了
## 我该不该担心缓存?

不该。如今 iOS 设备一般都有 16G 的储存空间,一个应用占着二、三百兆的空间看起来好像也没什么,10个这样的应用也没什么。前面也说了,开发者通常都会考虑如何处置缓存,即便他们选择不自动清理缓存也是有原因的。比如微信,在清理缓存页面里有这样一段话:

微信仅占据不到1%的储存空间,可用储存空间充裕,可不清理。

IMG_1936

你和家人互发的照片,短视频都在缓存中,每次打开对话都能够快速打开,这不是件很正确的事情吗?

所有音乐应用的离线功能都是通过缓存实现的,开发者的初衷都是让你能够直接播放已经播放过的歌曲,所以他们不推荐你频繁地清理软件的缓存。Spotify 直接无法在软件里找到清理缓存的按钮,原因很简单,我为什么要一口气删掉离线了数 G 的音乐?

[![Spotify](https://jbguide-pic.b0.upaiyun.com/wp-files/2015/01/IMG_1933.jpg)](https://jbguide-pic.b0.upaiyun.com/wp-files/2015/01/IMG_1933.jpg)Spotify
升级系统前,很多朋友都会遇到空间不足无法升级的情况。这时你要做的不应该是疯狂地删除程序,或是用今天要介绍的这款软件大肆清理,而是通过 iTunes 来升级。

CacheClearer

这款插件直接植入到系统本身的选项里,没有增添多余的图标和设置选项。你可以在设置——通用——用量中的管理储存空间这个选项里选择任何一个应用来查看和删除应用缓存,效果也很明显。

  1. Tweetbot。清理之后打开应用会显示空白,仿佛第一次打开应用,可是用户信息还保留在应用中。

tweetbot2

  1. Instagram。并没能完全清理掉缓存,并且 CacheClearer 说下次打开应用可能会动作慢点儿。

instagram

最后

这是一个功能不能再简单的插件,却解决了一个「刚需」,可是笔者仍然强调:缓存有用,不到万不得已不要清理。即使清理也先使用应用内提供的清理功能,再使用 CacheClearer。如果你不计后果,那就爽快地清理吧。

插件名源名称价格测试机型评分
CacheClearerrpetri.ch/repoFreeiPhone 6★★★★