“存储空间不足”,即使设备内存中有大量可用空间

时间:2013-05-29 15:28:31

标签: android google-play

我的应用程序的总空间为10 MB,安装后将占用不到20 MB。在Galaxy Note I中,在更新我的应用时,它说“存储空间不足”,其中设备内存中有214 MB的可用空间(内部)。它甚至试图下载一个新的应用程序。

我长期寻找解决方案,这是造成这个问题的一个完美原因,但我找不到它。我该如何解决这个问题?

这是我的另一个设备中'adb shell df'的结果,它有同样的问题。它有35 MB的可用空间:

/dev: 115788K total, 0K used, 115788K available (block size 4096)
/mnt/asec: 115788K total, 0K used, 115788K available (block size 4096)
/system: 179840K total, 168376K used, 11464K available (block size 4096)
/data: 201856K total, 168524K used, 33332K available (block size 4096)
/cache: 108544K total, 1284K used, 107260K available (block size 4096)
/cdrom: 8960K total, 8632K used, 328K available (block size 4096)
/tmp: 2048K total, 28K used, 2020K available (block size 4096)
/pds: 1536K total, 1320K used, 216K available (block size 4096)
/mnt/sdcard: 1928992K total, 1014496K used, 914496K available (block size 32768)
/mnt/secure/asec: Permission denied

28 个答案:

答案 0 :(得分:175)

这是一个非常简单的解决方案,适用于我的Samsung Galaxy S IINote 1;我不知道其他型号:

  1. 打开手机应用程序并切换到键盘。
  2. 拨打*#9900#
  3. 在出现的屏幕上,单击标有“删除dumpstate / logcat”的按钮。
  4. 我以这种方式恢复了大约1 GB的系统空间。

答案 1 :(得分:66)

首先我尝试了Berislav Lopac's answer,但当我尝试拨打Connection problem or invalid MMI code.时,我收到了*#9900#。我在手机上使用CyanogenMod,我认为自定义ROMs的手机不使用套牌拨号器,因此它们缺少SysDump功能。

基本上,SysDump中的Delete dumpstate/logcat会清除/data/log中的日志文件。但您也可以在没有SysDump的情况下手动执行此操作。 (这假设您的手机已经植根,如果您的手机运行CyanogenMod或任何其他非库存ROM,就会出现这种情况。)

  1. 确保已安装超级用户和终端仿真程序应用程序。 (它们带有大多数自定义ROM。)
  2. 运行终端模拟器
  3. 输入su,点击返回。
  4. 这将显示超级用户提示。授予访问权限。 (您必须等待三秒才能点击“允许”。)
  5. 键入cd /data/log,然后返回
  6. ,更改当前目录
  7. 确定您在data/log目录中输入pwd,然后返回。它应该打印出您当前的工作目录:/data/log。确保您位于正确的目录中非常重要,因为下一步将删除您目前所处工作目录中的所有文件。
  8. 键入rm *,然后输入<。li>,删除目录中的所有文件
  9. 关闭终端窗口或应用,或输入exit离开su会话。
  10. 我删除了大约1,500个这样的1 MB文件并修复了“存储空间不足”问题。

    与其他海报一样,我拥有Galaxy S II,因此该模型似乎存在问题。

    如果有人知道停止构建日志文件的永久解决方案,请告诉我。

    注意:某些文件管理器会错误地将/data/log列为空,因为它们运行无特权,因此缺少查看内部文件的权限。

答案 2 :(得分:17)

操作系统可以保留内存以用于运行您正常运行的内容(有点像交换文件)。

你可以挤进另一个或两个应用程序
  • 尝试在重启后立即安装它们,或
  • 通过强制关闭正在运行的某些应用程序(但第二个选项可能不是一个好主意 - 请参阅第一个链接),

但唯一非常好的修复可能是

  • 重新分区SD卡,以便可以直接在其上安装应用程序(请参阅第二个链接)。

查看论坛帖子 It was bound to happen: low memory warning!

重要的部分是:

  

操作系统知道运行已有应用程序所需的内存量。这是一个很好的例子。

     

现在,您可以通过强制关闭某些应用程序来“欺骗”操作系统   坐在RAM中。这会增加你的“桶”记忆力   可能会让你安装一个应用程序,但请记住,如果你做这些类型的   事情你只会在路上引起问题.. lagg,错误   消息等等(因为你在想你有愚弄操作系统   给它额外的记忆,事实上你做了..你只是强迫   闭)。

正在发生的事情的另一个很好的解释是在论坛帖子 Low Internal Memory

重要的部分是:

  

你的内部空间填满的原因是3倍。第一,   当应用程序“移动”到SD卡时,它不会完全移动。只要   它的一部分实际上去了。其次,该应用程序的Dalvik缓存是   仍存储在内部存储器中(占用大量存储器)   空间量)。三,应用程序和所有系统的数据   设置存储在内部存储器中(是的,一些应用程序使用   SD卡用于部分数据,但每个应用都存储有数据   内部记忆。)

该主题包含有关您可以对SD卡执行哪些分区的建议,以允许'moar apps'!

答案 3 :(得分:12)

包管理器(“安装程序”)有一个设计问题:它无法区分一堆可能的错误,并经常提出“存储空间不足”的理由。

完成第一步:确定安装问题(1.)和与存储短缺有关(2.)

  1. 它发生在控制台(pm install file.apk),Google Play,其他市场和手动GUI安装(例如,“点击”下载的APK文件);这不是下载问题,...
  2. 软件包最终完全位于/data分区上 - 或者 - 主要位于SD card上(以及/data上的一点)。 - 两个位置显示足够的空间,如原始海报(分别为33 MB和> 900 MB)所示,用于&lt; 20 MB包。 - 并且/data分区的可用空间超过10%(33 MB超过200 MB的10%)。
  3. 令人惊讶的是,大多数答案都没有考虑到这一点......

    实际上,/data分区需要清除以前安装的残留物。

    • 确定有问题的包的通用名称(例如,com.abc.def)
    • 卸载软件包(例如,pm uninstall com.abc.def
    • 检查数据中剩下的内容(例如,find /data -name 'com.abc.def*'
    • 删除那些东西

    安装程序会对这些进行扼杀,并返回错误的原因。 - 有趣的是:如果软件包安装在SD卡上(强制或通过其他方式),/data上的一些(所有?)剩余部分不会受到伤害......这导致错误的信念,即它是确实是空间问题(SD卡上有更多空间......)!

    Stack Overflow问题,我得到的一半来自 Solution to INSTALL_FAILED_INSUFFICIENT_STORAGE error on Android

答案 4 :(得分:6)

要做的第一件事是检查错误消息的详细信息。为此,您可以使用LogCat App

对我来说问题是像

这样的错误
Cannot rename native library directory /data/app-lib/vmdl-... to /data/app-lib/com.xyz

解决方案是激活我大脑中的常识功能,并使用ES-Explorer查找app-lib文件夹中的com.xyz文件夹。我认识到这个文件夹已经存在了。因此删除它解决了重命名问题,现在可以正确安装应用程序。

答案 5 :(得分:6)

我的手机也出现了同样的问题,这解决了这个问题:

  • 从“设置”中转到Application Manager / Apps

  • 选择Google Play Services

Enter image description here

  • 点击Uninstall Updates按钮右侧的Force Stop按钮。

  • 卸载更新后,您应该会看到Disable按钮 这意味着你已经完成了。

Enter image description here

现在你会看到很多可用空间。

答案 6 :(得分:2)

即使有足够的内存和SD内存,我也遇到了这个问题。此解决方案仅适用于未能更新或之前已安装在手机上且无法安装的应用。

在某些情况下,以前的安装中会遗留一些目录,新应用无法删除或覆盖这些目录。

首先要做的是先尝试卸载应用,然后重试。就我而言,这适用于几个应用程序。

对于下一步,您需要在手机上进行超级用户访问权限:

使用文件管理器转到/ data / app-lib并找到与该应用程序关联的目录(或多个目录)。例如,对于kindle来说,它是com.amazon.kindle。删除这些。也可以转到/ data / data并执行相同的操作。

然后转到播放商店并重新安装该应用。这适用于我的所有应用程序。

答案 7 :(得分:2)

我有一个没有根的Nexus 4(它只有内部存储,没有SD卡),并且在更新更大的应用时出现此错误。较小的应用程序会更新。

我发现这是因为我最近注册了Play Music All Access服务并且已经固定了几张专辑。

将这些内容下载到隐藏的/data分区,这是空间不足(我假设)

我取消了几张相册,现在安装应用没有问题。

答案 8 :(得分:2)

在卸载之后安装应用时我也遇到了这个问题。我决定下载Lucky Patcher,然后点击菜单 - 疑难解答 - 删除修复程序和备份(可用存储空间不足)。请注意您需要植根设备。

答案 9 :(得分:2)

1。重新启动手机,然后重新安装应用程序

我的设备上也出现了同样的问题Insufficient Storage Available,但我重新启动了我的设备,它运行正常!

PS:

2。在外部存储上安装应用程序

为此,请使用以下命令

设置Storage Location
adb shell pm set-Install-Location 2 // 2 for external storage ([SD card][1])

adb shell pm set-Install-Location 1 // 2 for internal storage 

adb shell pm set-Install-Location 0 // for auto

答案 10 :(得分:1)

这是最容易做到的事情。转到settings 寻找storagememory触摸它并查找cached data。触摸它 并从那里清除您的数据。 SIMPLE !!!

答案 11 :(得分:1)

我遇到了同样的问题,使用App Cache Cleaner解决了这个问题。

(HT:acejavelin@Android Forums

答案 12 :(得分:1)

我尝试了几个建议的解决方案,但没有一个适合我。经过一番研究后,我偶然发现了一些提示,将某些应用从/data/app转移到/system/app。这释放了足够的空间来安装新应用并更新现有应用。

我可以推荐免费实用程序SystemCleanup来移动应用程序。

答案 13 :(得分:0)

如果包名太长(&gt; 128个字符),我收到了相同的错误消息。只是使用较短的名称修复了问题。

答案 14 :(得分:0)

我的内部空间超过2 GB但我无法从Google Play或手动安装/更新应用程序。

无论是什么原因,擦除缓存分区都解决了我的目的。

步骤: 恢复 - &gt;擦除缓存分区 - &gt;立即重启系统

答案 15 :(得分:0)

转到设置,应用,全部并卸载Google Play商店。 这将取代旧版本,然后您可以下载没有“存储错误不足” 它对我有用

答案 16 :(得分:0)

我在库存ROM(4.2.2 ME2)上的Galaxy S4(i9505)上遇到了同样的问题。我有这样的可用空间:/data为473 MB,/system为344 MB,/cache为2 GB。我从Play商店(小应用程序,2.5 MB)的任何下载中得到了免费的spate错误,我检查了LogCat,它说“由于可用空间不足而取消下载ABC”。

然后我在/data上释放了一些空间,600 MB免费,现在它工作正常,应用程序下载和安装;)。所以看起来这个ROM需要更多的可用空间才能正常工作......

答案 17 :(得分:0)

如果您有root用户,请删除路径上的所有文件夹:

/data/app-lib/

然后重新启动设备。

我多次遇到过这个问题,这次修复每次都适合我。它甚至有an XDA thread

我写了所有文件夹,因为如果某个应用程序出现问题,很可能您也会遇到其他应用程序的问题。另外,只查找有问题的应用程序的文件夹会很烦人。

答案 18 :(得分:0)

应用程序是否必须安装在内部存储中?如果您没有运行任何服务,可以尝试在外部存储上安装它。这可以通过在清单中添加以下代码来完成:

 manifest  
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:installLocation="preferExternal".....

在大多数情况下,这通常适用于Android 2.2及更高版本。如果应用程序安装在外部存储上,请确保其正常运行。您可以在 App Install Location 中了解可以在外部存储上安装哪种应用。

答案 19 :(得分:0)

清除Google Play缓存也可以帮助您...转到Google Play的应用信息页面并清除它。

答案 20 :(得分:0)

我没有找到有效的免费解决方案,但我找到了一个解决方案:我使用非免费版本的Titanium备份,点击上下文按钮并选择检查应用程序占用的内存。找到下载应用程序,您将看到它有一定的空间分配给其缓存。 清除数据是您想要的选项。

答案 21 :(得分:0)

卸载几个应用程序后,我可以安装新的应用程序......

我认为操作系统会计算运行所有应用所需的总内存。如果它不适合那么它说“足够的记忆”。

答案 22 :(得分:0)

我为自己解决了这个问题。虽然,内部和SD内存显示了很多可用空间。这是手机内存的一个问题,几乎已经满了。

因此,我将我的许多应用程序从手机内存移动到内部iemory,以释放手机内存:设置 - &gt; 存储 - &gt; 应用(在内部存储空间下) - &gt; 内部标签

以下是未经检查且占用手机存储空间的内容。

  

点击应用程序(逐个)   单击按钮:“移至内部存储”。

一旦你通过这种方式释放手机内存上相当大的空间,就不会出现错误。

答案 23 :(得分:0)

某些应用需要重新启动才能完全安装。 Android只是说由于某种原因它没有足够的内存 - 应该说它需要重启才能完成安装。试试吧 - 重启后它会完全自动安装。

答案 24 :(得分:0)

您可用的大部分空间都由操作系统保留。最好的解决方法是将您的应用移动到外部存储。这将为你腾出足够的空间。

答案 25 :(得分:0)

对于区域设备,设备的行为似乎与不同的设备组不同。

我从不同的人那里听到的一些奇怪的意见收集是:

  • 拔下电源后重新启动设备
  • 从设备中删除一些应用程序并至少释放100 MB
  • 尝试从命令行./adb install ~Application_path
  • 安装您的应用
  • 将您的应用程序移至SD卡存储空间,或将其默认设置为Android清单文件中的SD卡android:installLocation="preferExternal"
  • 你在Raw文件夹中有很多内存获取内容,它在设置APK文件的同时在手机内存中安装了一个副本而且设备没有足够的内存来加载它们
  • 根据您的设备并安装一些好的ROM,这有助于让设备了解其剩余内存。

我希望其中一个与你相关! ;)

答案 26 :(得分:-1)

此应用Default Install Location(适用于有根电话)效果很好。

答案 27 :(得分:-1)

我一直遇到这个问题,我使用Titanium Backup清理了Dalvik缓存。你需要让你的手机扎根。一旦我这样做,我就能够更新Swiftkey和Beautiful Widgets。