ROM,RAM,Android存储目录,Java代码中对内存的使用,ART的运行位置
来源:互联网 发布:兰亭序 知乎 编辑:程序博客网 时间:2024/06/01 10:53
安卓手机,有两个内存:机身内存、运行内存。
机身内存:ROM //相当于给电脑添加一块硬盘。运行内存:RAM //相当于电脑里的内存条。容量越高,响应速度越快,操作越流畅。手机买来就是固定不变的。
ROM机身内存包含:在手机内部的持久化存储器中。android里的文件存储、SP、SQLit、网络存储、ContentProvider五种存储方式都是在ROM中。
①内部存储
②系统存储
③系统缓存
①内部存储:
//判断手机是否插入外置SDCard,并且应用程序具有读写权限。
Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
要使用存储功能,还要添加权限,在manifest.xml中:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>Environment.getExternalStorageDirectory().getAbsolutePath() + File.separatorChar//获取SDCard的局对路径 + "/"Environment.getDownloadCacheDirectory().getAbsolutePath() + File.separatorChar//下载缓存目录的内容 + "/"Environment.getDataDirectory();//获取手机内置存储目录
/**android 获取系统默认路径:*/Environment.getDataDirectory().getPath() : /dataEnvironment.getDownloadCacheDirectory().getPath() : /cacheEnvironment.getExternalStorageDirectory().getPath(): /mnt/sdcardEnvironment.getRootDirectory().getPath() :/systemContext.getCacheDir().getPath() : /data/data/com.zhd/cacheContext.getExternalCacheDir().getPath() :/mnt/sdcard/Android/data/com.zhd/cacheContext.getFilesDir().getPath() :/data/data/com.zhd/filesContext.getObbDir().getPath() :/mnt/sdcard/Android/obb/com.zhdContext.getPackageName() : com.zhdContext.getPackageCodePath() :/data/app/com.zhd-1.apkContext.getPackageResourcePath() :/data/app/com.zhd-1.apk
=========华丽分割线=========start
获取内置、外置存储空间目录,以及空间大小。
http://blog.csdn.net/hudashi/article/details/7716653
不同的设备上,调用getExternalStorageDirectory()返回值却不一样。查询了Android的文档,才找到原因,
原来这个方法返回的是当前设备厂商所认为的“外部存储”,有可能返回外置的SD卡目录(Micro SD Card),也可能返回内置的存储目(eMMC)。
通过扫描系统文件遍历"system/etc/vold.fstab” 来实现内置eMMC存储的路径
https://my.oschina.net/liucundong/blog/288183
涉及Android内置存储路径,外置存储路径
=========华丽分割线=========end
②系统存储
如果不刷机,就一直存在的值。可以通过ContentProvider提供使用。
③系统缓存
见获取cache路径下方法。
RAM
断电后,所有内容消失
相当于Java内存的使用,对象池,线程池,dalvik,art,堆栈缓存一类都是在RAM中。
关于一些内存的优化,就是指的RAM。
- ROM,RAM,Android存储目录,Java代码中对内存的使用,ART的运行位置
- 对内存中存储区域的再认识
- android对内存的管理
- C对内存的使用
- JAVA对内存的使用和垃圾回收
- JAVA对内存的使用和垃圾回收
- ram xp 在内存中运行的XP操作系统
- android static对内存的影响
- android static对内存的影响
- kernel中对内存的物理表示
- C#中对内存的操作
- QT中对内存的管理
- C++对象对内存的使用
- C++对象对内存的使用
- LINUX对内存的管理和使用
- JVisualVM对内存线程的分析使用
- 限制容器对内存的使用
- C++对内存的使用管理
- MySQL在Windows中绿色版安装和简单配置
- tomcat相关问题
- objective-c 学习之旅之BOOL类型
- 单链表_生成100个随机数_查询并输出大于K的数
- Vue.js——60分钟快速入门【1】
- ROM,RAM,Android存储目录,Java代码中对内存的使用,ART的运行位置
- DHCP协议原理及其实现流程
- 20分钟MySQL基础入门
- Oracle Vm Virtualbox 报错VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_VMX_DI
- ffmpeg转码时对变帧率和固定帧率的处理
- java html2image 网页生成图片
- Vue.js——60分钟组件快速入门(上篇)【2】
- DHCP协议与dhcpcd分析
- android studio adb连接不上手机 ADB server didn't ACK