Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 外部存储器与内部存储器。我该用什么?_Android_Memory Management_Lazylist - Fatal编程技术网

Android 外部存储器与内部存储器。我该用什么?

Android 外部存储器与内部存储器。我该用什么?,android,memory-management,lazylist,Android,Memory Management,Lazylist,我正在使用一个版本来加载图像。它使用外部存储,什么都不错。但是为了不让每个人都能在手边有文件浏览器的情况下看到这些文件,我想改用内部内存,最大内存量是(5mB) 我该怎么办?还有其他的可能性吗?‎ 如果你不想让所有使用文件浏览器的人都看到你的文件,你可以像下面这样在文件夹前面加一个点“/sdcard/.hidden” 但如果他们切换显示隐藏的文件和文件夹,你就不那么幸运了 Android页面关于存储数据的链接 希望这对您有所帮助如果您不想让所有使用文件浏览器的人都看到您的文件,您可以在文件夹前面

我正在使用一个版本来加载图像。它使用外部存储,什么都不错。但是为了不让每个人都能在手边有文件浏览器的情况下看到这些文件,我想改用内部内存,最大内存量是(5mB)


我该怎么办?还有其他的可能性吗?‎

如果你不想让所有使用文件浏览器的人都看到你的文件,你可以像下面这样在文件夹前面加一个点“/sdcard/.hidden” 但如果他们切换显示隐藏的文件和文件夹,你就不那么幸运了

Android页面关于存储数据的链接


希望这对您有所帮助

如果您不想让所有使用文件浏览器的人都看到您的文件,您可以在文件夹前面添加一个点,如“/sdcard/.hidden” 但如果他们切换显示隐藏的文件和文件夹,你就不那么幸运了

Android页面关于存储数据的链接


希望这对你有所帮助

内存应该用于你不希望任何人篡改的小东西。外部存储器(通常是SD卡)可以被其他应用程序和用户访问。 另外,内存是“昂贵的”,用户倾向于卸载占用大量内存的应用程序

对于外部内存,只需确保您正在检查它是否确实可用。SD卡可能丢失、弹出、挂载甚至不存在(并非所有Android设备都有)

访问速度各不相同。我知道一个事实,一些三星设备的外部存储速度相当慢,而其内部存储速度非常快


另一种选择是从网络加载图像。如果将来需要更改它们,这也将允许您控制它们。在Amazon S3上安装它们每月只需花费几美分。

内部内存应该用于您不希望任何人篡改的小东西。外部存储器(通常是SD卡)可以被其他应用程序和用户访问。 另外,内存是“昂贵的”,用户倾向于卸载占用大量内存的应用程序

对于外部内存,只需确保您正在检查它是否确实可用。SD卡可能丢失、弹出、挂载甚至不存在(并非所有Android设备都有)

访问速度各不相同。我知道一个事实,一些三星设备的外部存储速度相当慢,而其内部存储速度非常快


另一种选择是从网络加载图像。如果将来需要更改它们,这也将允许您控制它们。在AmazonS3上安装它们每月只需花费几美分。

AFAIK每个应用程序的内存没有限制。但,这是真的,若用户在设备上有很多应用程序,那个么内存通常会很低,所以你们不应该将它用于大文件(或很多文件)

我会使用外部存储器(sd卡),如果对图像的原始访问存在问题,那么我会:

  • 加密文件。那太重了,会让事情变慢的
  • 将文件置乱。这涉及到在字节之间移动,例如,将前1000个字节移动到文件末尾,等等。。您可以创建自己版本的
    InputStream
    ,执行字节洗牌,并将其传递给
    BitmapFactory.decodeStream(…)

  • AFAIK对每个应用程序的内部内存没有限制。但,这是真的,若用户在设备上有很多应用程序,那个么内存通常会很低,所以你们不应该将它用于大文件(或很多文件)

    我会使用外部存储器(sd卡),如果对图像的原始访问存在问题,那么我会:

  • 加密文件。那太重了,会让事情变慢的
  • 将文件置乱。这涉及到在字节之间移动,例如,将前1000个字节移动到文件末尾,等等。。您可以创建自己版本的
    InputStream
    ,执行字节洗牌,并将其传递给
    BitmapFactory.decodeStream(…)

  • 我使用的是从网络加载图像,但我将其保存在SD卡中,因为它们很多,而且每次listview运行到该列表图像时加载图像并不是一种很好的用户体验。如果您所做的只是缓存,那么我建议使用外部存储。更糟糕的情况是,如果外部存储不可用,只需从网络重新加载即可。我使用的是从网络加载图像,但我将其保存在SD卡中,因为它们很多,而且每次listview运行到该列表图像时加载图像并不是一种很好的用户体验。如果您所做的只是缓存,那么我建议使用外部存储。更糟糕的情况是,如果外部存储不可用,只需从网络重新加载即可。我不需要非常安全的空间,但您告诉我,内部内存不适合许多/大型文件+完整答案为1。@Peter Knego:你能评论一下这个帖子吗?它说每个应用程序的内存限制在16到48 MB之间,如Android代码所示:;谢谢@WinOrWin显然,您所指的线程是关于“内存”的,而这个线程是关于“存储空间”(尽管人们通常会将其称为“内部/外部内存”)。它们不是一回事。(硬盘空间和内存的基本区别)我不需要非常安全的空间,但你告诉我,内存不适合很多/大文件+完整答案为1。@Peter Knego:你能评论一下这个帖子吗?它说每个应用程序的内存限制在16到48 MB之间,如Android代码所示:;谢谢@WinOrWin显然,您所指的线程是关于“内存”的,而这个线程是关于“存储空间”(尽管人们通常会将其称为“内部/外部内存”)。它们不是一回事。(例如,硬盘空间和内存之间的基本区别)。基本*nix文件隐藏是一种很好的方法。不过,强烈建议人们不要启用查看隐藏文件夹和文件的选项