Jim*_*mmy 37 storage android android-sdcard
我想保存一个包含所有应用程序数据的json文件(类似于首选项),但我不确定限制大小是多少,因为如果应用程序无法使用此文件,它将无法正常运行.这是预先知道的信息,操作系统会根据可用的大小为您的应用或其预留一些空间.
更新:我真的不关心外部存储,因为在设备中并不总是可用并且可以更改(SD卡),我可以使用此检查内部存储但这不是我想知道的,我想知道如果是否为设备的内部存储分配了内存大小?
Ted*_*opp 41
如果您使用Environment.getExternalStorageDirectory()(或Context.getExternalFilesDir()用于API级别8及更高版本)作为json文件的位置,那么我认为该大小将受到外部存储(通常是SD卡)中可用空间的限制.对于大多数设备,我认为Android内置文件存储没有固定的限制.(内部存储是另一回事.设备制造商可以施加相当严格的限制,可能在所有应用程序中共享低至100MB.)
更新:请注意,根据Android 2.3的兼容性定义(第7.6.1节),设备应该有相当多的内存:
设备实现必须至少有150MB的非易失性存储可用于用户数据.也就是说,/ data分区必须至少为150MB.
除了上述要求之外,设备实现应该至少有1GB的非易失性存储可用于用户数据.请注意,这个更高的要求计划在未来的Android版本中成为最低要求.强烈建议设备实施现在满足这些要求,否则它们可能无法兼容未来版本的Android.
这个空间由所有应用程序共享,因此可以填满.每个应用都没有保证最低存储空间.(对于需要存储超过最小值的应用程序而言,这样的保证最低值将毫无价值,并且对于存储较少的应用程序而言将是浪费.)
编辑:来自Android 4.0的兼容性定义
设备实现必须至少有350MB的非易失性存储可用于用户数据.也就是说,/ data分区必须至少为350MB.
设备实现必须至少有512MB的非易失性存储可用于用户数据.也就是说,/ data分区必须至少为512MB.
有趣的是,实现应该提供至少1GB的建议保持不变.
Foa*_*Guy 17
我从来没有目睹它限制一个应用程序,我已经测试了它在应用程序文件目录之前保存一些相当大(200 MB)的视频文件.
对于内部存储,我认为您只能通过内部存储量来限制所有应用程序共享.正如@Ted Hopp所提到的那样,在一些较旧的和较低端的设备上相当小.但在新的更高的终端设备,他们已经开始颠簸起来,以一个合理的量,但即使该设备有一个很大的空间,它仍然可以被其他应用程序占用(所以你需要测试中会发生什么这种情况).
值得指出的是,如果您使用SD卡等外部存储器,那么您的json文件在技术上可由用户编辑.他们可以在文本编辑器中打开它,如果他们有任何愿望,就可以开始更改原始值.(如果您选择使用内部存储,这也是可能的,但它需要一个有根设备,而如果它存储在SD卡上则不需要root)
因此,如果您要存储信息,而不是用户无法手动编辑,您可能需要考虑这一点.
| 归档时间: |
|
| 查看次数: |
28740 次 |
| 最近记录: |