首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外部-内部存储

外部-内部存储
EN

Stack Overflow用户
提问于 2012-06-27 01:02:17
回答 3查看 3.9K关注 0票数 6

在android中,不可移动的外部存储(内部)和内部存储有什么不同?我不确定在哪里保存我的数据。我只需要保存一个游戏统计数据,一个人可以随时拉他们想要的

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-27 01:16:52

在许多较新的设备中,将不再有物理上的区别,“内部”和“外部”存储共享相同的闪存芯片,甚至不一定有固定的分配,因此差异实际上仍然是一个预期的访问范式。

外部存储上的文件(真实的或模拟的)不可避免地与所有内容共享,并可由具有该清单权限的任何人修改。传统上,它们很容易被看到,尽管对于最近的MTP访问设备,在连接的PC看到它们之前,可能需要将它们告知系统。

相反,内部存储上的文件是应用程序的私有文件,除了作为root或系统运行的任何文件,或者如果应用程序决定使它们通常可见或可更改的话。即使在可访问时,内部存储上的数据可能更难在拥有的应用程序之外访问-它不支持面向消费者的U盘大容量存储或MTP机制,甚至对于其他应用程序和开发工具,它也很难找到,除非你知道去哪里查找,因为当你可以检查应用程序选择共享的文件夹时,你不能浏览父文件夹(通常是/data或/ data / app )。即使对于应用程序的开发人员来说,在调试期间访问它在私有存储上创建的文件也可能有点令人沮丧(尽管apk是可调试的,但可以使用run-as工具和adb,或者您可以在应用程序中构建导出功能,或者在adb具有root的仿真器上运行)。

很可能你的决策过程应该是这样的:它是否意味着拥有应用程序的私密性?如果是这样,请将其放在内部存储上,除非它太大并且针对的是较旧的设备,在这种情况下,您可能需要在放置到外部存储之前对其进行加密和/或签名以进行保护。否则,如果它是要共享的,需要交给任意的其他组件(电子邮件应用程序等),或者很大,就把它放在外部存储上。

票数 13
EN

Stack Overflow用户

发布于 2012-06-27 01:05:41

在安卓系统中,不可移动的外部存储(内部)和内部存储有什么不同?

外部存储从来不意味着可移动。它总是意味着“用户可以通过插入USB数据线并将其作为驱动器安装在主机上”。早期的Android设备碰巧有可移动的外部存储,但这从来不是定义。

内部存储是指用户无法访问的存储,除非通过已安装的应用程序(或通过启动其设备)进行访问。

票数 7
EN

Stack Overflow用户

发布于 2012-07-09 18:26:46

根据Chris的回答,如果您担心外部存储(SD卡)不可用,您可以简单地在每次加载应用程序时检查这一点,然后相应地拉入relvent信息。

您可以使用类似以下内容:

代码语言:javascript
复制
if(isSDPresent)
{
    // SD Card is present
    // Your code goes here, files will be located @ /mnt/sdcard/Android/data/packagename
}
else
{
    // SD Card is not presenet
    // files located here /data/data/packagename
}

如果你是在模拟器上测试,你可以加载你的DDMS并找到所有存储在revlent位置的文件。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11212377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档