ROM,RAM,Android存储目录,Java代码中对内存的使用,ART的运行位置

安卓手机,有两个内存:机身内存、运行内存。

机身内存: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()	   : /data
Environment.getDownloadCacheDirectory().getPath()  : /cache
Environment.getExternalStorageDirectory().getPath(): /mnt/sdcard
Environment.getRootDirectory().getPath()           :/system
Context.getCacheDir().getPath()                    : /data/data/com.zhd/cache
Context.getExternalCacheDir().getPath()            :/mnt/sdcard/Android/data/com.zhd/cache
Context.getFilesDir().getPath()                    :/data/data/com.zhd/files
Context.getObbDir().getPath()                      :/mnt/sdcard/Android/obb/com.zhd
Context.getPackageName()                           : com.zhd
Context.getPackageCodePath()                       :/data/app/com.zhd-1.apk
Context.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。


如有理解不对,请指正。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值