在Android设备中,我们经常会看到与系统或者应用相关的清除功能有:清除数据、清除缓存、一键清理,这么多清除功能对于一个程序猿就够难理解了,偏偏很多安卓设备上都有这些功能,对于用户来说就更难理解,趁着在把玩手机的时候想到了这一点,索引追根究底了解他们的具体区别。

清除数据、清除缓存、一键清理的区别

清除数据

  清除数据主要是清除用户配置,比如SharedPreferences、数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样;

清除缓存

  缓存是程序运行时的临时存储空间,它可以存放从网络下载的临时图片,从用户的角度出发清除缓存对用户并没有太大的影响,但是清除缓存后用户再次使用该APP时,由于本地缓存已经被清理,所有的数据需要重新从网络上获取,注意:为了在清除缓存的时候能够正常清除与应用相关的缓存,请将缓存文件存放在getCacheDir()或者 getExternalCacheDir()路径下。比如对微信清除缓存,则聊天记录、朋友圈缓存的用户头像、图片、文字等信息都会被清除掉,清除缓存后再次进入微信时你会发现消息记录被清空了,朋友圈的图片和用户头像需要加载一会才能正常显示。

一键清理

  一键清理是系统级别的功能,它主要是杀后台进程,以达到释放内存的目的,但杀掉哪些进程和清理时设置的重要值阈值有关,重要值越大说明进程重要程度越低,如果在清理时某个进程的重要值大于该阈值,该进程就会被杀掉。比如微信等应用在后台,一件清理后会将微信和与之相关的服务都杀掉(有的服务做了特殊处理,杀不死!!!)。

参考资料

  • What’s the difference between clear cache & clear data in android settings

  • Android中系统设置中的清除数据究竟会清除哪些数据

  • Android 一键清理、内存清理功能实现

  • How to delete files created by the application on uninstall?

说明

  为了让程序被卸载后不在文件系统中留下毫无关联的无用文件,建议将应用相关的配置和缓存文件存放在程序被卸载时会删掉的文件夹下面(音乐文件、视频文件、图片、电子书这种适合多个应用阅读和浏览的文件除外),具体路径有:

  • /data/data/package/

Android缓存处理和清除数据、清除缓存、一键清理的区别相关推荐

  1. 清除数据和缓存是什么_什么是缓存数据? 清除缓存的含义是什么?

    清除数据和缓存是什么 首先,什么是缓存? (First, what's a cache?) In general terms, a cache (pronounced "cash" ...

  2. Android studio怎么清除数据和缓存

    可以通过以下步骤清除 Android Studio 的数据和缓存: 打开 Android Studio 点击 "File" 菜单 选择 "Invalidate Cache ...

  3. php数据库缓存类,常见php数据文件缓存类汇总

    本文实例汇总了常见php数据文件缓存类.分享给大家供大家参考.具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与 ...

  4. php数据清洗工具,phpcms一键清理数据还原方法

    phpcms一键清理数据还原方法 上周遇到了phpcms一键清理数据的问题,以下为还原办法: 1.用FTP登陆到[caches/bakup/default]文件夹,把这个文件夹整个复制下来. 2.把复 ...

  5. android系统怎么清除数据,安卓手机怎么清理卸载后的残留数据

    通常我们清理垃圾或者下载某个应用时候都会有残留,那么怎么清理这些残留呢?下面由小编为你整理了安卓系统清理卸载残留的相关方法,希望对你有帮助! 安卓系统清理卸载残留方法1 腾讯手机管家 现在很多人都喜欢 ...

  6. macbook如何清除数据?Mac如何清理长时间的垃圾文件?

    在Macbook中,可以创建多个用户,用于管理不同的资料,但是有些用户不使用了,而他的数据还保存在电脑中,这时候就要清除这些数据来腾出Macbook有限的空间,下面分享在macbook中清除这些数据的 ...

  7. 使用代码实现Android的清除数据的功能

    清除数据 清除数据主要是清除用户配置,比如SharedPreferences.数据库等等,这些数据都是在程序运行过程中保存的用户配置信息,清除数据后,下次进入程序就和第一次进入程序时一样: 代码实现方 ...

  8. 本地缓存需要高时效性怎么办_缓存在高并发场景下的常见问题

    缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象.这就比较依赖缓存的过期和更新策略.一般会在数据发生更改 ...

  9. Redis缓存穿透-热点缓存并发重建-缓存与数据库双写不一致-缓存雪崩

    解决缓存问题 1.解决Redis把内存爆满的三种方法 1.1 定期删除 1.2 惰性删除 1.3 内存淘汰策略 2. 缓存穿透--缓存击穿--缓存雪崩 3. 如何解决线上缓存穿透问题 3.1 缓存击穿 ...

最新文章

  1. 测试django_如何像专业人士一样测试Django Signals
  2. python库引用的3种方式比较
  3. std:: string 的常用使用
  4. swagger报错 java.lang.NumberFormatException: For input string: ““
  5. 安装Windows更新程序遇到错误:0x80070422
  6. linux不显示无线网卡驱动安装失败,Linux_Ubuntu无线网卡驱动安装方法,安装了Ubuntu后发现没有无线网 - phpStudy...
  7. 初级黑客安全技术命令详解
  8. java catch自定义异常_Laravel - 自定义处理程序中的Catch异常
  9. mysql数据导入导出 CSV格式_mysql数据一键导出到csv文件
  10. PHP - Smarty模板引擎 - Download下载 - 2 6 22
  11. HighTec、S32 Design Studio等编译器如何修改字体大小
  12. A 45nm 1.3GHz 16.7 double-precision GFLOPS/W RISC-V processor with vector accelerators
  13. 威纶通触摸屏做主站(客户端)与modsim虚拟从站通过MODBUS TCP/IP通讯测试
  14. JSP ssh房地产项目管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计
  15. 七大江河水系--珠江
  16. 低电压的1.8V SDHC 接口静电保护
  17. Ps的动感模糊和扭曲效果
  18. matlab 多项式表达,MATLAB多项式
  19. 帆软报表配置入门(一丶普通报表和决策报表 )
  20. java 注解处理器的作用_Java注解处理器

热门文章

  1. perror 函数了解一下
  2. 警惕三星白电这个重磅杀手
  3. mysql分库方案_干货 : 常用MySQL分库分表方案
  4. vue单页应用和和多页应用的区别
  5. Maven项目中引用PageOffice
  6. 管家基因 | Human housekeeping genes
  7. 你是什么时候从轻视到高看软件测试的?
  8. 2021年危险化学品经营单位安全管理人员考试题库及危险化学品经营单位安全管理人员模拟考试题库
  9. Cassandra客户端连接的说明---PHP版
  10. java语言基础-面向对象编程-方法(廖雪峰老师官网学习记录)