android内部的存储结构和路径获取方法:

http://www.tuicool.com/articles/AvUnqiy

清除本地数据和缓存:

http://www.cnblogs.com/rayray/p/3413673.html

计算缓存和内存数据的大小:

http://blog.csdn.net/wf_zeng/article/details/9378065

计算缓存大小以及删除的方法:

http://www.2cto.com/kf/201503/385492.html

这文章里面的文件删除方法有一些问题:没有循环是文件夹的删除方法;另外:

File.list(); 获取的是该文件夹下的所有子文件的相对路径;

File.listFiles();获取的是该文件夹下的所有子文件的绝对路径;

android的文件保存工具类:

import android.content.Context;
import android.os.Environment;
import android.util.Xml;import org.xmlpull.v1.XmlSerializer;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;public  class FileService {/** * save data to phone rom * @param context  上下文 * @param fileName  保存的文件名 * @param name      用户名 * @param password   密码 * @return */  public static boolean saveToRom(Context context, String fileName, String name, String password){// File file = new File("/data/data/cn.itcast.login/a.txt");  //相当于存储到/data/dat/packageName/目录下  File file = new File(context.getExternalFilesDir("test"), fileName);// 如果没有指定访问的模式 ,文件的模式 默认是私有的权限.  // 只有当前的应用程序可以读写这个文件 ,别的应用程序是不可以操作这个文件.  try {  FileOutputStream fos=new FileOutputStream(file);fos.write((name+":"+password).getBytes());  fos.close();  return true;  } catch (Exception e) {  e.printStackTrace();  return false;  }  }  /** * 保存数据到手机的rom空间的缓存目录 * 作用 保存应用程序的临时数据, 在手机内存不足的时候 系统会释放掉这块空间 * 用户也可以手工的释放掉这块空间 * @param context 上下文* @param name 用户名 * @param password 密码 * @return */  public static boolean saveToRomCache(Context context,String fileName,String name,String password){  File file=new File(context.getCacheDir(),fileName);///data/dat/packageName/  try {  FileOutputStream fos=new FileOutputStream(file);  fos.write((name+":"+password).getBytes());  fos.close();  return true;  } catch (Exception e) {  e.printStackTrace();  return false;  }  }  /** * sava data to externalStorage【外部存储卡】 * @param context * @param fileName * @param name * @param password * @return */  public static boolean saveToSD(Context context,String fileName,String name,String password){  //相当于存储到/mnt/sdcard/目录下  //在保存数据到sd卡之前 ,最好判断一下 用户是否有sd卡 sd是否可用.  File file=new File(Environment.getExternalStorageDirectory(),fileName);try {  FileOutputStream fos=new FileOutputStream(file);  fos.write((name+":"+password).getBytes());  fos.close();  return true;  } catch (Exception e) {  e.printStackTrace();  return false;  }  }  /** * 将用户输入的数据以xml文件格式保存到手机rom空间 * @param context * @param name * @param password * @return */  public static boolean saveToXML(Context context,String name,String password){  File file=new File(context.getFilesDir(),"info.xml");  try {  FileOutputStream fos=new FileOutputStream(file);  XmlSerializer serial= Xml.newSerializer();//初始化一下xml的序列化器  serial.setOutput(fos, "UTF-8");  serial.startDocument("UTF-8", true);  serial.startTag(null, "map");  serial.startTag(null, "name");  serial.text(name);  serial.endTag(null, "name");  serial.startTag(null, "password");  serial.text(password);  serial.endTag(null, "password");  serial.endTag(null, "map");  serial.endDocument();  fos.flush();  fos.close();  return true;  } catch (Exception e) {  e.printStackTrace();  return false;  }  }  /** * 从rom文件中读取存储的内容 * @param context * @param fileName * @return */  public static Map<String,String> readFromRom(Context context, String fileName){File file=new File(context.getExternalFilesDir("test"),fileName);try {  FileInputStream fis=new FileInputStream(file);byte[] result=StreamTools.getBytes(fis);  String[] data=new String(result).split(":");if (data!=null&&data.length>=2){String name=data[0];  String password=data[1];Map<String,String> map=new HashMap<String, String>();map.put("name", name);map.put("password", password);return map;}return new  HashMap<String, String>();} catch (Exception e) {  e.printStackTrace();  return null;  }  }  }  

Android内部存储和外部存储以及缓存清理和内存清理!相关推荐

  1. android 根目录缓存,Android系统中内部存储和外部存储(公有目录、私有目录、缓存目录)详解...

    首先,明确一个概念,Android内部存储和外部存储并非所谓的手机自带内存是内部存储,SD卡是外部存储云云. Android对内部存储和外部存储不是在物理上区分的,而是在逻辑上区分的.git 1.概念 ...

  2. Android内部存储与外部存储解析

    Android开发的过程中.经常会涉及到存储,之前一直没有一个整体的概念,这篇文章就是进行一个知识点的梳理. Android的存储有:内部存储.外部存储. 想要了解这两个概念,我们先将开发软件中的DD ...

  3. Android内存解析(二)— 详解内存,内部存储和外部存储

    总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? ...

  4. android+默认存储,Android 数据存储之SP存储,内部存储,外部存储

    Android 数据存储之SP存储,内部存储,外部存储 Android提供了多种数据存储的技术来永久的保存应用数据,以便于开发者能够根据自己的需求来选择合适的数据存储方案,主要有SharedPrefe ...

  5. 转:彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑

    转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定 ...

  6. Android文件存储---内部存储,外部存储以及各种存储路径解惑

    本文转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储 ...

  7. Android开发中内存、内部存储、外部存储详解

    手机是有两个内存的.2G和16G同时出现在一个手机中,2G是指运行内存,16G是指存储内存. 手机的内存,分两种,一个是存储内存,相当于电脑的硬盘,一般手机参数里超过4G的都是指这个.存储内存是可以扩 ...

  8. Android开发--文件系统中的内部存储和外部存储最全解析 附文件数据保存操作封装

    文件存储 前言 文件存储 内存 内部存储 外部存储 内部存储操作 API 读写操作 外部存储操作 公共目录 私有目录 私有文件 私有缓存 文件各种操作封装 前言 众所周知,数据存储在每个应用中都会用到 ...

  9. 解析Android内部存储、外部存储的区别

    1.背景 在开发过程中我们都会使用到手机的内部缓存.外部缓存.但有些开发者对这两个存储区域理解还够透彻,以为手机内置的存储卡(不可手机移除)就是内部存储, 可插拔的SD卡就是外部存储,其实这些理解都是 ...

  10. android以ini文件形式保存在内部存储_彻底了解android中的内部存储与外部存储

    打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读 ...

最新文章

  1. 9.DRN: A Deep Reinforcement Learning Framework for News Recommendation论文详解
  2. 英语发音规则---N字母
  3. Linux 中 7 个判断文件系统类型的方法
  4. OllyDBG 入门之四--破解常用断点设
  5. 定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...
  6. mysql 分页效率_MYSql分页查询效率提高
  7. 0923接口——练习题作业
  8. linux重定向权限不够,linux – 如何使用sudo将输出重定向到一个我没有权限写入的位置?...
  9. win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)
  10. 大连交通大学计算机网络作业,计算机网络题库(大连交通大学)chapter4
  11. shell 截取某个字符串之后的内容
  12. DSP的CMD文件 RUN_START
  13. Pytorch显存分配机制与显存占用分析方法
  14. LAMMPS案例分析——水滴的蒸发
  15. python数据分析(六)—数据清洗2
  16. 什么是 OOD/OOP ?
  17. HDU 4544 湫湫系列故事——消灭兔子 (贪心+优先队列)
  18. Bean Validation数据校验和分组校验
  19. jquery按钮和回车键绑定
  20. Java训练work3.Exer5---供应商问题

热门文章

  1. SaaS是什么?是订阅吗?还是web应用?
  2. 上传应用到苹果一直卡住验证中(authentication with the app store)问题解决
  3. python决策树例题经典案例-决策树python实现小样例
  4. Lorenzo Von Matterhorn
  5. 究竟什么是冯诺依曼瓶颈(von Neumann Bottleneck)?
  6. UGUI——RectTransform详解
  7. 【渝粤教育】电大中专中药炮制学作业 题库
  8. np.delete详解
  9. react 跳转外部链接
  10. Moneybookers的优点