待看适配

Android中的内部存储(对适配AndroidQ提供基础)

2019-12-09  本文已影响0人  会撒娇的犀犀利

背景

首先来说一下写这篇文章的目的。大家都知道,目前Android系统已经更新到AndroidQ(10)AndroidQ(10)中改动大的有三个地方:

而本篇文章对于存储空间限制的改动提供基础,想要做适配就必须了解Android中的内部存储和外部存储

内部存储路径

data/data/应用包名/对应路径

需要注意的是:当前路径在真机上无法查看,如果有需要查看,例如操作数据库等,可以通过AndroidStudio中的FileExplorer查看

FileExplorer查看

对于手机上安装的每个app来说,系统都会在data/data目录下创建以应用包名为名字的文件夹

在对应目录下可查看以下文件夹:

接下来,就对每个目录依次介绍一下

cache目录
image

系统默认创建的,让我们用来存储app的缓存数据

database目录
image

系统自动创建的,可以用户需要的数据库文件,以.db结尾。

shared_prefs目录
image

我们在项目中经常会使用sp,如下面代码:

SharedPreferences test_sp = getSharedPreferences("my_sp", MODE_PRIVATE);
                SharedPreferences.Editor edit = test_sp.edit();
                edit.putString("myName", "myName");
                edit.commit();

一旦提交后,就会生成“my_sp.xml”文件,这个文件中都是我们需要存放的sp内容。

app_webview目录
image

很容易的看出,这个存放webview缓存的。如果项目中有用到的webview,就会生成对应的缓存目录文件夹。

以上cachedatabaseshared_prefsapp_webview四个目录都为系统自动创建,而files目录则是我们可以创建的。

files目录
image

此目录是我们可以手动生成的,当调用以下代码时会生成:

//这个是Context对象的方法
//返回一个File对象,这个对象的路径是data/data/包名/files/
 File filesDir = getFilesDir();
 String absolutePath = filesDir.getAbsolutePath();

我们还可以在此目录下创建文件,下载文件等。

区分 File cacheDir = getCacheDir();File filesDir = getFilesDir();

当手机内存存储空间比较低时,cache目录下的所有文件可能都会被删除。

在手机系统管理器中,我们经常看到清除缓存清除数据这两个功能。

内部存储目录下的文件夹会随着app的卸载而被系统自动删除。

下一篇文章:Android中的外部存储

上一篇下一篇

猜你喜欢

热点阅读