【问题标题】:com.android.ddmlib.SyncException: Too many open filescom.android.ddmlib.SyncException:打开的文件太多
【发布时间】:2011-07-18 06:57:36
【问题描述】:

当我尝试在我的设备上的 Eclipse 中运行我的应用程序时,我开始在控制台中收到很多 com.android.ddmlib.SyncException: Too many open files 异常/错误。

为什么会这样?这是什么意思?我能做些什么来阻止这种情况?

【问题讨论】:

    标签: android file


    【解决方案1】:

    基本上,这意味着您有记忆问题。很可能是泄漏。

    首先重新启动您的手机并确认您仍然收到错误消息。如果是这样,您将需要开始挖掘代码并找出泄漏的位置!

    需要更多帮助?贴一些代码!

    【讨论】:

    • ah super :-/ 如果使用“高级任务杀手”来终止应用程序,甚至会出现这种情况吗?我想这会释放内存吗?
    • 我不熟悉任务杀手。
    • 只有重启手机才有帮助。经过一系列调试后,有时会发生上述错误。我认为这与内存泄漏无关。这些应用运行良好。
    • 如何验证“你有内存问题”?假设我有完全的 root 访问权限。
    • 我在尝试编译到手机时遇到了问题,所以,我想这不是内存泄漏(至少不是已编译的应用程序,可能是操作系统错误?)
    【解决方案2】:

    当您在手机上多次安装和测试您的应用程序时,您可能会收到此错误消息。

    从 USB 数据线中拔下手机,然后重新插入。

    【讨论】:

      【解决方案3】:

      关闭并重新打开 DEBUG USB。这个对我有用。在我的设备中调试时,USB 同步似乎存在某种问题。

      希望对您有所帮助!

      【讨论】:

      • 如果有人不知道如何关闭和打开 DEBUG USB,这里的说明:groovypost.com/howto/mobile/…
      • +1 是的,这行得通。 “打开的文件太多”并不一定意味着代码错误。
      【解决方案4】:

      在添加启动“google play”应用以将用户链接到我的其他游戏应用的链接后,我开始得到这个,例如
      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=my game"));

      当我退出我的应用程序并尝试从 Eclipse 重新启动它时,我会收到“打开的文件太多”或收到“将当前活动置于最前面”的消息,这只会重新打开 googleplay我从以前的应用程序运行中启动的页面。在我退出所有内容并阻止应用程序从 Eclipse 重新启动后,似乎第二个“谷歌播放”意图仍然存在。不幸的是,仅在应用程序中添加 browserIntent.finish() 不起作用,该命令(以及建议的 (Activity) 标签修复)不被接受。

      当我通过网络浏览器链接到我的其他应用程序时,我没有遇到这个问题,只是打开了一个网页到我的应用程序。我可能不得不切换回那个方法。

      这个链接显示了一个关于退出由你的主要活动开始的意图的建议,尽管我正在做一些更简单的事情:How to stop an activity in android using intent?

      【讨论】:

        【解决方案5】:

        终于有了一个解决方案。如果您在安装或卸载时遇到问题。只需重新启动您的设备,看看魔术。 :)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-09
          • 2019-10-30
          • 2011-01-03
          • 2011-08-05
          • 2014-03-31
          • 2017-03-03
          • 2016-08-09
          相关资源
          最近更新 更多