Android内部存储和外部存储以及缓存清理和内存清理!
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内部存储和外部存储以及缓存清理和内存清理!相关推荐
- android 根目录缓存,Android系统中内部存储和外部存储(公有目录、私有目录、缓存目录)详解...
首先,明确一个概念,Android内部存储和外部存储并非所谓的手机自带内存是内部存储,SD卡是外部存储云云. Android对内部存储和外部存储不是在物理上区分的,而是在逻辑上区分的.git 1.概念 ...
- Android内部存储与外部存储解析
Android开发的过程中.经常会涉及到存储,之前一直没有一个整体的概念,这篇文章就是进行一个知识点的梳理. Android的存储有:内部存储.外部存储. 想要了解这两个概念,我们先将开发软件中的DD ...
- Android内存解析(二)— 详解内存,内部存储和外部存储
总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? ...
- android+默认存储,Android 数据存储之SP存储,内部存储,外部存储
Android 数据存储之SP存储,内部存储,外部存储 Android提供了多种数据存储的技术来永久的保存应用数据,以便于开发者能够根据自己的需求来选择合适的数据存储方案,主要有SharedPrefe ...
- 转:彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储肯定 ...
- Android文件存储---内部存储,外部存储以及各种存储路径解惑
本文转自:https://blog.csdn.net/u010937230/article/details/73303034 前言: 对于任何一个应用来说,无论是PC端应用还是Android应用,存储 ...
- Android开发中内存、内部存储、外部存储详解
手机是有两个内存的.2G和16G同时出现在一个手机中,2G是指运行内存,16G是指存储内存. 手机的内存,分两种,一个是存储内存,相当于电脑的硬盘,一般手机参数里超过4G的都是指这个.存储内存是可以扩 ...
- Android开发--文件系统中的内部存储和外部存储最全解析 附文件数据保存操作封装
文件存储 前言 文件存储 内存 内部存储 外部存储 内部存储操作 API 读写操作 外部存储操作 公共目录 私有目录 私有文件 私有缓存 文件各种操作封装 前言 众所周知,数据存储在每个应用中都会用到 ...
- 解析Android内部存储、外部存储的区别
1.背景 在开发过程中我们都会使用到手机的内部缓存.外部缓存.但有些开发者对这两个存储区域理解还够透彻,以为手机内置的存储卡(不可手机移除)就是内部存储, 可插拔的SD卡就是外部存储,其实这些理解都是 ...
- android以ini文件形式保存在内部存储_彻底了解android中的内部存储与外部存储
打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读 ...
最新文章
- 9.DRN: A Deep Reinforcement Learning Framework for News Recommendation论文详解
- 英语发音规则---N字母
- Linux 中 7 个判断文件系统类型的方法
- OllyDBG 入门之四--破解常用断点设
- 定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...
- mysql 分页效率_MYSql分页查询效率提高
- 0923接口——练习题作业
- linux重定向权限不够,linux – 如何使用sudo将输出重定向到一个我没有权限写入的位置?...
- win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)
- 大连交通大学计算机网络作业,计算机网络题库(大连交通大学)chapter4
- shell 截取某个字符串之后的内容
- DSP的CMD文件 RUN_START
- Pytorch显存分配机制与显存占用分析方法
- LAMMPS案例分析——水滴的蒸发
- python数据分析(六)—数据清洗2
- 什么是 OOD/OOP ?
- HDU 4544 湫湫系列故事——消灭兔子 (贪心+优先队列)
- Bean Validation数据校验和分组校验
- jquery按钮和回车键绑定
- Java训练work3.Exer5---供应商问题