当前位置: 首页 > wzjs >正文

电子网站建发广告推广平台

电子网站建,发广告推广平台,给政府做网站怎么报价,wordpress会员才能搜索一、背景 作为一个开发者,我们经常需要通过缓存一些文件到SD卡中,常见的方式就是,通过: File sdCard Environment.getExternalStorageDirectory(); 获取SD卡根目录,然后自定义文件/文件名进行文件存储.这样做法的结果就是,当手机安装了大量的app时,SD卡根目录会…

一、背景

作为一个开发者,我们经常需要通过缓存一些文件到SD卡中,常见的方式就是,通过:

File sdCard = Environment.getExternalStorageDirectory();

获取SD卡根目录,然后自定义文件/文件名进行文件存储.这样做法的结果就是,当手机安装了大量的app时,SD卡根目录会迅速变得杂乱不堪。并且在API 6.0之后,根目录文件存储是需要用户授权的,就算你在AndroidManifest.xml中配置了存储权限,用户不授权也是写不进去了

SD卡读写权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

其实,Google已经提供了最佳的外部存储方案,那就是统一路径为:

/Android/data/< package name >/files/… (该路径通常挂载在/mnt/sdcard/下)

外部存储路径调用方法是: context.getExternalFilesDir(dir).getAbsolutePath()   //通过context调用,

参数dir为自自定义文件夹.这个方法获得的文件存储路径适用于6.0以后系统,主要AndroidManifest.xml配置读写权限了,就不需要用户再授权了.

内部存储路径调用方法是:context().getCacheDir().getAbsolutePath() //通过context调用

二、本地存储路径常用方法介绍

1. getCacheDir()

  • 路径/data/data/<package_name>/cache/

  • 存储类型:内部存储(应用私有目录)。

  • 特点

    • 无需权限,应用卸载时自动删除。

    • 适合存放临时缓存文件(如图片缓存)。

    • 系统可能在存储不足时清理此目录(但依赖系统实现,不保证及时性)。

  • 示例

    File cacheDir = context.getCacheDir();


2. getFilesDir()

  • 路径/data/data/<package_name>/files/

  • 存储类型:内部存储(应用私有目录)。

  • 特点

    • 无需权限,应用卸载时自动删除。

    • 适合存放长期使用的私有文件(如用户配置、数据库文件)。

    • 系统不会自动清理,需开发者管理。

  • 示例

    File filesDir = context.getFilesDir();


3. getExternalFilesDir(String type)

  • 路径/Android/data/<package_name>/files/<type>/
    (例如 Environment.DIRECTORY_DOWNLOADS 指定子目录)

  • 存储类型:外部存储(应用私有目录)。

  • 特点

    • 从 Android 4.4(API 19)开始无需权限;但若访问其他应用的目录或公共目录(如 DCIM)仍需权限。

    • 应用卸载时自动删除。

    • 适合存放媒体文件等较大数据(如音视频、文档)。

    • 用户可通过文件管理器直接访问(需注意隐私问题)。

  • 示例

  • File externalFilesDir = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES);


4. getExternalCacheDir()

  • 路径/Android/data/<package_name>/cache/

  • 存储类型:外部存储(应用私有目录)。

  • 特点

    • 与 getExternalFilesDir() 类似,但专用于缓存文件。

    • 系统或用户可能手动清理此目录。

    • 适合存放临时外部缓存(如下载的临时文件)。

  • 示例

    File externalCacheDir = context.getExternalCacheDir();

5. Environment.getExternalStorageDirectory()

  • 已废弃 (API 29+),建议使用 Context#getExternalFilesDir(String) 或其他存储访问框架

  • 返回共享的外部存储根目录 (如 /storage/emulated/0)

  • 需要 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限

  • 存储在此处的文件对所有应用可见,用户也可以通过文件管理器访问

  • 应用卸载时文件不会被自动删除

三、路径说明和对比

getCacheDir():/data/data/你的应用的包名/cache
getFilesDir():/data/data/你的应用的包名/files
getExternalFilesDir():SDCard/Android/data/你的应用的包名/files/
getExternalCacheDir():SDCard/Android/data/你的应用包名/cache/


从上文每个方法获取的路径中可以看出,getCacheDir()和getFilesDir()是获取手机自带的存储空间中的当前包文件的路径 ;
getExternalFilesDir()和getExternalCacheDir()是获取手机中SD卡的存储控件中的当前包文件的路径。

关键区别总结

区别方法存储位置是否需要权限卸载是否删除系统清理行为适用场景
external storage
外部存储
Environment.getExternalStorageDirectory()SD卡根目录:/storage/emulated/0已废弃,不建议再使用,推荐使用getExternalFilesDir代替
context.getExternalFilesDir(dir)路径:/storage/emulated/0/Android/data/<package_name>/files/...否(API 19+)较大的媒体或文档文件
context.getExternalCacheDir()路径:/storage/emulated/0/Android/data/<package_name>/cache/...否(API 19+)可能(用户/系统)外部临时缓存文件
internal storage
内部存储
context.getFilesDir()路径:/data/data/<package_name>/files适合存储应用长期使用的私有文件
context.getCacheDir()路径:/data/data/<package_name>/cache可能(低存储时)内部临时缓存文件

 注:/data/data/等同于/data/user/0

四、注意事项

1、权限问题

访问外部存储的公共目录(如相册)需 READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE 权限(Android 10+ 分区存储限制)。

私有目录(getExternalFilesDir/getExternalCacheDir)在 API 19+ 无需权限。

2、兼容性:

使用前检查外部存储是否可用:
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

3、存储选择建议:

小文件或敏感数据优先用内部存储(getFilesDir)。

大文件或用户需访问的文件用外部私有目录(getExternalFilesDir)。

4、清理责任:

缓存目录(getCacheDir/getExternalCacheDir)应定期清理,避免占用过多空间。

http://www.dtcms.com/wzjs/106043.html

相关文章:

  • 百度企业网站建设免费网站建设seo
  • 山西大同专业网站建设价格小程序开发费用一览表
  • 做护士题的那个网站是什么网络整合营销4i原则是指
  • 做门户网站 cms中国十大互联网公司排名
  • 网站后台账户密码查关键词排名软件
  • wordpress怎麽换主题旺道网站优化
  • 茂名优化网站建设东莞网络营销推广专业
  • 狮山建网站app推广方案
  • 点金wordpress网站seo分析案例
  • 深圳网站建设潮动九州写软文赚钱的平台都有哪些
  • 济宁做网站哪家比较好seo入门到精通
  • 长春小程序开发制作seo自然优化排名技巧
  • 乐陵疫情最新消息今天宁波网站推广网站优化
  • 网页游戏排行榜前十微信小程序app优化
  • 网站怎么做百度能搜到中视频自媒体平台注册官网
  • 外包公司设计完网站谁负责运营长沙seo推广
  • 企业手机网站建设策划书多少关键词排名优化软件
  • 国家企业年报系统官网2021百度新算法优化
  • 南京宜电的网站谁做的需要优化的地方
  • 为客户网站做产品描述杭州做百度推广的公司
  • jsp动态网站开发实践教程电子档搜索引擎排名优化方案
  • a5做网站百度推广后台登录页面
  • 茶叶手机网站泰州seo推广
  • WordPress链接有中文导致打不开网站建设及推广优化
  • 做网站去哪里接单云浮网站设计
  • 视频网站开发周期武汉seo服务外包
  • 如何在手机做网站搜索seo怎么优化
  • 公司请做网站西安seo搜推宝
  • 职业装定制重庆seo外包平台
  • 计算机系毕业论文想要做好一个网站 怎么做优化网站seo策略