最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

【技术扫盲】小米手机 M1,M2剖析安卓软件存放位置

IT圈 admin 26浏览 0评论

2024年1月12日发(作者:承若菱)

一、为什么软件不能移动存储卡里?

二、软件装在存储卡里就不会影响系统本身,运行可以更流畅(windows思想)?

三、不是说有4G 的rom么,为什么我的只有2.83G?

四、哇!!!才这么点,我装个导航软件就塞满盘了,还让不让我装其它软件了???

其实,如果你是一个对Linux系统有点认识的人,是不会提出这样子的疑问的,然而却很多人并不是这样的人,所以有感而发在此写一篇小文,希望对大家能有那么一点点帮助。

首先,安卓是一个基于Linux作二次开发的一个操作系统,骨子里它就是一个Linux,所以它的系统文件及文件夹的存放规律都与Linux是一样的,当然,这是一个很模糊的概念。我就不多作介绍了,奔向主题吧。

安卓,不管是原生还是CM7还是MIUI,其实系统存储方式都是一样的,可以不太专业的将它们分为三部分,

***一部分叫RAM,就是我们所说的运行内存,这部分存储器用于系统底层的输入输出,在系统运行过程中频繁读写,断电后这部分存储将会消失,是系统乃至所有计算机设备的重要组成部分,但这部分不是这个帖子讨论的内容。

***另一部分就是鼎鼎大名的ROM,这部分内容存储着安卓系统本身,包括Linux内核,Android系统文件,系统配置文件以及系统运行所必须预留的缓存空间(Cache);然后就是我们最最关心的,我们所安装的Android应用程序,所以小米所说的4GB ROM里为什么我们只能看到2.83G,剩下的一部分,就是被安装应用以外的文件占用了,有人会问为什么占这么多,小米需要支持双系统,所以被占用走的除了两个系统要用到的空间以外,还占用了一部分作为支撑双系统运行的必须配置文件。因此,大家所看到的2.83G,是正常得不得了的事情。

ROM是整合在机器上的。

那么这2.83G够不够用,我们还需不需要把程序移动到存储卡上?

答案是,绝对够用,并且不需要甚至不应该把软件安装到存储卡上。

为什么?Android系统本身(不管你是原生,CM,还是MIUI),它的存储文件系统是ext2或ext4,Android在没有任何外部插件或软件支撑的情况下只能读取这两种文件系统里的文件(而我们TF卡上的文件系统是FAT32),所以软件安装在ext2或ext4分区里是天经地义的。如果我们把软件装在SD卡上,软件的运行过程就变成了:系统先调用app2sd插件,

把SD卡上的程序读取到ext分区里,再运行,这种情况下,程序的启动相比起安装在ext分区里孰快孰慢,基本上就没有讨论的价值了。

所以,常说的Android的软件装在存储卡上能减低对系统运行速度的影响(这种经典的windows系统使用习惯),这本身就是错误的,你让系统运行软件时多做了几步,还快什么?

——“可是这2.83G不够用啊,我装一个导航就几个G了,别说装别的软件了,就这个软件都装不下了!!!!”

这种说法源于你本身就没看清楚软件的安装教程,这类软件的安装都分为两步,首先安装程序,然后放置数据包,程序(一般不会超过20MB)是装在那个2.83G里,而数据是放在你的SD卡里,所以你这个程序占用的ROM容量就只有不到20M,只是在SD卡里放了几个G。很多大型游戏都是采取这种方式,例如有些游戏安装了几十M的软件进去之后,第一次启动它会下载数据,这些数据就是存放在SD卡里的。

***最后一部分,就是SD卡存储了,很多(非常非常多)人觉得SD卡存储是ROM的扩展,这怎么说呢,还是windows的老习惯,还有就是用其它电子设备(包括塞班手机,MP4,DC,DV等)的定性思维,其实在安卓里,SD卡跟ROM是系统职责完全不同的两个存储空间,他们对系统的作用也是不同的,其它的电子设备SD卡扩展可有可无,但是安卓系统里,没有SD卡的安卓手可以说是一台硬件不完整的手机。

SD卡之于安卓,是一个软件缓存(非系统缓存,也非软件配置文件)存放器,包括你看网络视频的缓存,浏览器的缓存,离线阅读的缓存,和所谓的软件数据包,总之你用过的软件会产生的数据都会存放在这里。所以SD卡非常重要,不是一个你觉得我的手机有4Grom够了,就可以不用增配的一个配件。当然,因为SD卡是FAT32格式,所以我们的电脑可以读取和存放的信息的地方就只有SD卡,你想直接读写ROM里的内容是没门的。

有人会说,我没有SD卡我的手也可以运行啊,怎么就说没SD卡我的手机就不完整了,那这位同学可以留意一下当你用电脑连接手机打开SD卡时,系统是不是会提示,“微信的XXX和XXX功能暂时无法使用!”,这你就应该懂SD卡的真正作用了。

那么我用Nexus S的,机器里就16G,不能放内存卡,那我的手机就永远不完整了?这也是不对的,像Nexus S这种不能外接存储卡的机器里,人家的里面的存储是有分区的,是将原来的16G分了两个区,一个是ROM区,一个是数据存储区(就是我们的SD卡),所以就别纠结了。

也有出现双数据存储区的手机,象Galaxy S2那种,系统本身分了数据区,还能外接一个SD卡,所以在这些机子上是有SD卡1和SD卡2的选项的。

所以,总结起来

一、ROM和存储卡是两个不同的存储器,系统本身以及安装的软件放在ROM里是无可厚非的,并且一个软件不会占用你多少ROM的空间,关键是数据包是放在存储卡上。

二、把软件安装在SD卡里是一种逆系统而行的行为,这只会让你的程序运行得更慢。

三、不要用windows的思想去使用Android,windows是分区是并行的,它们都用一种文件系统,而Android的ROM和SD卡基本上是两个概念。软件是应该安装在ROM里的。

四、ROM和SD卡的关系,绝对不是windows里C盘和其它盘的关系。它们分工明确,不应该混为一谈,更不应该让SD卡做ROM应该做的事情。

五、软件装在SD卡上是不完整的,如果一个软件有桌面插件,装在SD卡上会用不了。

六、而为什么这么多厂商都相继推出app2sd功能,让软件可以装在SD卡上,那是因为早期的Android系统机器的rom都很可怜,128M,256M的都有,这么点确实不够用,所以是逼于无奈只好推出app2sd,让用户可以安装更多的程序到系统里。当ICS出现时,各机器的配置都上去了。ROM也大了,何必还纠结要把软件放在SD卡上呢。

2024年1月12日发(作者:承若菱)

一、为什么软件不能移动存储卡里?

二、软件装在存储卡里就不会影响系统本身,运行可以更流畅(windows思想)?

三、不是说有4G 的rom么,为什么我的只有2.83G?

四、哇!!!才这么点,我装个导航软件就塞满盘了,还让不让我装其它软件了???

其实,如果你是一个对Linux系统有点认识的人,是不会提出这样子的疑问的,然而却很多人并不是这样的人,所以有感而发在此写一篇小文,希望对大家能有那么一点点帮助。

首先,安卓是一个基于Linux作二次开发的一个操作系统,骨子里它就是一个Linux,所以它的系统文件及文件夹的存放规律都与Linux是一样的,当然,这是一个很模糊的概念。我就不多作介绍了,奔向主题吧。

安卓,不管是原生还是CM7还是MIUI,其实系统存储方式都是一样的,可以不太专业的将它们分为三部分,

***一部分叫RAM,就是我们所说的运行内存,这部分存储器用于系统底层的输入输出,在系统运行过程中频繁读写,断电后这部分存储将会消失,是系统乃至所有计算机设备的重要组成部分,但这部分不是这个帖子讨论的内容。

***另一部分就是鼎鼎大名的ROM,这部分内容存储着安卓系统本身,包括Linux内核,Android系统文件,系统配置文件以及系统运行所必须预留的缓存空间(Cache);然后就是我们最最关心的,我们所安装的Android应用程序,所以小米所说的4GB ROM里为什么我们只能看到2.83G,剩下的一部分,就是被安装应用以外的文件占用了,有人会问为什么占这么多,小米需要支持双系统,所以被占用走的除了两个系统要用到的空间以外,还占用了一部分作为支撑双系统运行的必须配置文件。因此,大家所看到的2.83G,是正常得不得了的事情。

ROM是整合在机器上的。

那么这2.83G够不够用,我们还需不需要把程序移动到存储卡上?

答案是,绝对够用,并且不需要甚至不应该把软件安装到存储卡上。

为什么?Android系统本身(不管你是原生,CM,还是MIUI),它的存储文件系统是ext2或ext4,Android在没有任何外部插件或软件支撑的情况下只能读取这两种文件系统里的文件(而我们TF卡上的文件系统是FAT32),所以软件安装在ext2或ext4分区里是天经地义的。如果我们把软件装在SD卡上,软件的运行过程就变成了:系统先调用app2sd插件,

把SD卡上的程序读取到ext分区里,再运行,这种情况下,程序的启动相比起安装在ext分区里孰快孰慢,基本上就没有讨论的价值了。

所以,常说的Android的软件装在存储卡上能减低对系统运行速度的影响(这种经典的windows系统使用习惯),这本身就是错误的,你让系统运行软件时多做了几步,还快什么?

——“可是这2.83G不够用啊,我装一个导航就几个G了,别说装别的软件了,就这个软件都装不下了!!!!”

这种说法源于你本身就没看清楚软件的安装教程,这类软件的安装都分为两步,首先安装程序,然后放置数据包,程序(一般不会超过20MB)是装在那个2.83G里,而数据是放在你的SD卡里,所以你这个程序占用的ROM容量就只有不到20M,只是在SD卡里放了几个G。很多大型游戏都是采取这种方式,例如有些游戏安装了几十M的软件进去之后,第一次启动它会下载数据,这些数据就是存放在SD卡里的。

***最后一部分,就是SD卡存储了,很多(非常非常多)人觉得SD卡存储是ROM的扩展,这怎么说呢,还是windows的老习惯,还有就是用其它电子设备(包括塞班手机,MP4,DC,DV等)的定性思维,其实在安卓里,SD卡跟ROM是系统职责完全不同的两个存储空间,他们对系统的作用也是不同的,其它的电子设备SD卡扩展可有可无,但是安卓系统里,没有SD卡的安卓手可以说是一台硬件不完整的手机。

SD卡之于安卓,是一个软件缓存(非系统缓存,也非软件配置文件)存放器,包括你看网络视频的缓存,浏览器的缓存,离线阅读的缓存,和所谓的软件数据包,总之你用过的软件会产生的数据都会存放在这里。所以SD卡非常重要,不是一个你觉得我的手机有4Grom够了,就可以不用增配的一个配件。当然,因为SD卡是FAT32格式,所以我们的电脑可以读取和存放的信息的地方就只有SD卡,你想直接读写ROM里的内容是没门的。

有人会说,我没有SD卡我的手也可以运行啊,怎么就说没SD卡我的手机就不完整了,那这位同学可以留意一下当你用电脑连接手机打开SD卡时,系统是不是会提示,“微信的XXX和XXX功能暂时无法使用!”,这你就应该懂SD卡的真正作用了。

那么我用Nexus S的,机器里就16G,不能放内存卡,那我的手机就永远不完整了?这也是不对的,像Nexus S这种不能外接存储卡的机器里,人家的里面的存储是有分区的,是将原来的16G分了两个区,一个是ROM区,一个是数据存储区(就是我们的SD卡),所以就别纠结了。

也有出现双数据存储区的手机,象Galaxy S2那种,系统本身分了数据区,还能外接一个SD卡,所以在这些机子上是有SD卡1和SD卡2的选项的。

所以,总结起来

一、ROM和存储卡是两个不同的存储器,系统本身以及安装的软件放在ROM里是无可厚非的,并且一个软件不会占用你多少ROM的空间,关键是数据包是放在存储卡上。

二、把软件安装在SD卡里是一种逆系统而行的行为,这只会让你的程序运行得更慢。

三、不要用windows的思想去使用Android,windows是分区是并行的,它们都用一种文件系统,而Android的ROM和SD卡基本上是两个概念。软件是应该安装在ROM里的。

四、ROM和SD卡的关系,绝对不是windows里C盘和其它盘的关系。它们分工明确,不应该混为一谈,更不应该让SD卡做ROM应该做的事情。

五、软件装在SD卡上是不完整的,如果一个软件有桌面插件,装在SD卡上会用不了。

六、而为什么这么多厂商都相继推出app2sd功能,让软件可以装在SD卡上,那是因为早期的Android系统机器的rom都很可怜,128M,256M的都有,这么点确实不够用,所以是逼于无奈只好推出app2sd,让用户可以安装更多的程序到系统里。当ICS出现时,各机器的配置都上去了。ROM也大了,何必还纠结要把软件放在SD卡上呢。

发布评论

评论列表 (0)

  1. 暂无评论