将应用程序存储在Android设备的外部存储上是否有任何特殊的优点/缺点?有了Nexus S,我无法想到自己的优势,因为无法移除存储,而且内部存储足以满足我的需求。

我在电话上注意到了这一点启动时,当我将所有应用程序移至USB存储设备时,将所有应用程序注册在菜单/主屏幕上非常缓慢。

我还在某处读到某张照片中有墙纸的背景,存储在外部存储器中,实际上所有读取操作也消耗了很多电池(尽管我认为这可能是一个错误)。

评论

您还没有HTC电话,也没有微小的内部存储带来的所有问题。您没有任何理由将任何应用程序移至SD。

另请参见android.stackexchange.com/questions/3298/…

#1 楼

优点:



扩展内部存储器的可用空间以安装更多应用程序。
尽管应用程序的某些部分仍保留在内部存储器中(数据和设置) ,),仍然可以释放大量空间。对于具有150MB可用空间的旧手机(G1,MT3G等),这是一个巨大的进步。对于这些设备的所有者,仅此一项优点便超过了此方法带来的任何缺点。

缺点:




如果在以下情况下无法使用移动到SD卡的应用程序
不言而喻:如果卸载SD卡以将其卸下,则还必须停止驻留在该SD卡上的应用并对其进行um安装,以防止当您卸下SD卡时导致崩溃和数据丢失

将这些应用程序移动到SD卡时,无法使用小部件或同步适配器。
从以上观点出发,这是一个设计限制。由于需要根据需要删除存储在SD卡上的应用,因此挂接到您的帐户设置中的小部件或应用(例如Skype,LinkedIn)会崩溃,无法轻松重启。因此,谷歌要求这些应用保留在内部存储器中,从而做出了让步。即使您确实设法将它们强制插入SD卡(某些自定义ROM允许这样做),您也将无法使用它们。

系统安装/卸载存储在SD卡上的所有应用。
移至SD卡的应用程序不会一目了然地存储,以防止猖ramp的盗版行为。相反,Android会留出一些空间,并为您移动的每个应用程序创建一个虚拟分区。这意味着在初次启动时,必须先安装所有这些虚拟分区,然后才能访问存储在其中的应用程序。当您关闭手机时,情况也是如此-在进行其他关机过程之前,先卸载每个虚拟分区。根据安装的应用程序的数量,这可能需要一分钟甚至更长的时间,系统才能在启动时“稳定”下来(关闭系统大约需要20秒钟的额外时间。)一旦发生这种情况,启动这些应用程序就不需要

SD卡上的额外磨损。
这点值得商,,因为不经常发生对SD卡的写入(这会导致磨损)。此外,这些天的SD卡价格便宜到足以不必担心其使用寿命。

应用程序需要更新才能支持此功能。
不能自动迁移到SD卡的功能授予较旧的应用程序。开发人员必须更改其应用程序以支持此功能,然后通过Market(或他们使用的任何分发方法)发布更新。某些较旧的应用程序可能不再受支持,因此可能永远无法获得此功能。尽管某些自定义ROM可以覆盖此问题,但对于大多数运行常规固件的人来说,这是一个问题。

对于具有千兆位内部存储器的较新设备,无需将应用程序移动到外部存储,因为空间有限这不是问题。但是,对于内存不足的手机,这是一种宝贵的工具,可以为所有者延长其保质期。

评论


另一个缺点:从备份还原时,所有还原的应用程序都进入主内存-当主内存填满时,这将导致还原失败。

–美
2012年4月16日在21:07

@David确实取决于您用于备份/还原目的的应用程序。更好的版本(例如,Titanium Backup)将为您提供还原位置的选项,并允许直接还原到SD卡或原始位置。

–Chahk
2012年4月17日下午0:14

在SD卡上“佩戴”吗?来吧,内部存储上的磨损不多于或少。

–拉里·布德(LarryBud)
16年6月23日在17:56

#2 楼

直接从android开发者网站获取的


只要将外部存储设备安装在设备上,对应用程序的性能就没有影响。

.apk文件被保存在外部存储中,但是所有私有用户数据,数据库,优化的.dex文件和提取的本机代码都被保存在内部设备内存中。
使用随机方式对存储应用程序的唯一容器进行加密生成的密钥,只能由最初安装它的设备解密。因此,安装在SD卡上的应用程序只能在一个设备上运行。
用户可以通过系统设置将应用程序移至内部存储。



另外->不应安装在外部存储上的应用程序(有关Android开发者网站的更多详细信息)


服务
警报服务
动态壁纸
动态文件夹
应用程序小部件
帐户管理器
同步适配器
设备管理员
广播接收器在侦听“启动已完成”


#3 楼

如果小部件位于SD卡上,将无法使用。

#4 楼

如果您卸下SD卡或打开USB大容量存储(因此可以从计算机进行访问),则SD卡上安装的应用程序将无法运行。这是我一直遇到的唯一缺点。

自从移至SD以来,我实际上已经看到了性能的提高。在转移到SD之前,我已经用尽了内部存储器(还剩下大约几千字节),并且电话的延迟非常严重。由于移至SD(因此释放了内部存储器中的某些空间),因此滞后现象消失了。

#5 楼

对于某些电话和设备(尤其是较旧的电话和设备),内部存储空间非常有限。每个应用程序(及其数据文件)都占用宝贵的空间。即我的Ideos拥有512MB的空间,在我开始将应用程序“撤离”到SD卡之前几乎已满。 >
除此之外,您的观察还不错,与内部存储器相比,应用程序从外部存储器加载的速度更慢。如果您在主屏幕上有这些应用程序的快捷方式,这将非常明显-您会在开始的30秒内看到一个通用的Android图标,直到该应用程序位于卡上。

我发现,升级到6级microSD(我手机随附的默认2级)可以大大改善这种情况。不过,冷启动后,我的手机仍需要20秒钟才能“均衡”。

评论


哦,默认班级2?太残酷了

–马修·雷德(Matthew Read)
2011年5月27日在17:01

#6 楼


安全和性能方面的影响

存储在外部存储中的应用程序资源是只读的,并且
,因此在SD卡上加载或启动应用程序没有性能问题。 。


来自:http://android-developers.blogspot.co.uk/2010/07/apps-on-sd-card-details.html

该帖子由“从事此功能的工程师Suchi Amalapurapu”撰写。该功能是将应用程序放入SD卡的功能。

评论


为什么外部存储是只读的,为什么启动应用程序的速度并不慢?我本以为阅读性能对此更为重要。

– Erik
2012年4月14日在17:06

#7 楼

根据我的经验,几乎没有或没有任何可察觉的性能问题。使用Nexus One管理内存时,我感到非常烦恼。我使用S2E进行迁移,但没有回头。不必删除应用程序就可以安装新应用程序了。

#8 楼

我认为将应用程序从内部迁移到外部不会影响性能。

但是从外部存储(而不是内部存储)打开应用程序确实要花费额外的几毫秒。里程因设备而异,具体取决于速度,Android版本等。

#9 楼

如果其中有很多正在运行的应用程序(例如Viber,WhatsApp,Facebook Messenger等)可能会大大降低ui的速度,所以最好在手机上保持恒定的服务记忆,因为相比之下,影响并不明显。

评论


如果它一直在运行,那么它将被加载到内存中,并且在初始加载时间之后的安装位置无关紧要。

–马修·雷德(Matthew Read)
16 Mar 16 '16 at 20:49

#10 楼

永远不要将您的应用程序移动到外部SD卡中。这将使您的手机滞后更多,并且手机重启的速度将比平常慢。您甚至可能每天或每周必须重启一次电话。处理这些应用程序拥有的所有信息将花费更长的时间。我从经验中讲。

评论


您能否提供给我们一些难以置信或难以验证的信息,以便我们以技术方式评估您的答案? (提示:基准测试)

–Firelord♦
16-3-16在16:39