列出我的Android应用程序打开的所有文件

大卫·克里斯托弗·雷诺兹

当我尝试在Xamarin / Android应用中写入文本文件时,我间歇性地打开太多打开文件异常。我知道这是因为每个Android应用程序都可以打开的文件数有限制,很明显,在某些情况下我的应用程序超出了它。因此,我必须将某些文件保持打开状态/不在某些地方正确处理它们。我想知道是否可以以编程方式列出我的应用程序在任何给定时间打开的文件吗?显然,操作系统知道这一点,是否可以从我的应用程序中做到这一点?这将帮助我发现问题。

多亏提琴手,这才是我解决问题的方式,以防万一其他人将来需要这样做(在C#/ Xamarin中):

private static List<string> m_commandData;

    private static void GetOpenedFiles()
    {
        m_commandData = new List<string>();
        RunCommand("lsof");

        RunCommand("ps | grep TestNoFilesOpen");

    }

    private static void RunCommand(string command)
    {
        string data;
        using (Java.Lang.Process process = Java.Lang.Runtime.GetRuntime().Exec(command))
        {

            Stream stream = process.InputStream;

            StreamReader bodyReader = new StreamReader(stream);

            data = bodyReader.ReadToEnd();
        }
        m_commandData.Add(data);

    }

    private static void WriteCommands()
    {
        for (int i = 0; i < m_commandData.Count; i++)
        {

            using (TextWriter tw = new StreamWriter(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/NoFilesOpen/adb_" + i.ToString() + ".txt"))
            {
                tw.Write(m_commandData[i]);
                tw.Close();
            }
        }

        m_commandData = new List<string>();
    }
斯达贝特

您可以ADB shell中使用Unix lsof命令

1)启动shell:

$ adb shell

2)查找您的应用的进程ID:

shell@android:/ $ ps | grep <packagename>

3)列出您的应用程序打开的文件:

shell@android:/ $ lsof <pid>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列出我的Android应用程序打开的所有文件

来自分类Dev

从我的应用程序打开Google Play以列出我所有的应用程序:Android

来自分类Dev

列出Android库中的所有应用程序资源

来自分类Dev

用我的应用程序打开文件

来自分类Dev

我们如何计算/列出特定程序/命令打开的所有文件?

来自分类Dev

应用程序打开的文件太多-Android

来自分类Dev

科尔多瓦列出了应用程序目录(WWW)中的所有文件

来自分类Dev

如何使用我的所有应用程序打开Windows应用商店

来自分类Dev

如何列出系统中安装的所有应用程序?

来自分类Dev

以编程方式列出所有默认应用程序

来自分类Dev

如何列出应用程序的所有实例?

来自分类Dev

如何列出系统中安装的所有应用程序?

来自分类Dev

我想在我的应用程序中打开 .pdf 文件

来自分类Dev

我的iOS应用程序无法处理所有应用程序中的图像文件类型

来自分类Dev

从我的Android应用程序以编程方式打开选定的文件(图像,pdf等)?

来自分类Dev

如何让Android知道我的应用程序可以打开MP4文件

来自分类Dev

我需要从我的Android应用程序访问Dropbox文件夹,选择一个文件并在我的应用程序中打开它

来自分类Dev

打开应用程序启动器时禁用所有应用程序的概览

来自分类Dev

Firefox下载种子使我没有打开它们的应用程序-只需打开下载文件夹

来自分类Dev

Firefox下载种子使我没有打开它们的应用程序-只需打开下载文件夹

来自分类Dev

没有键盘我不能打开应用程序吗?

来自分类Dev

从我的Android应用程序打开VLC实时流

来自分类Dev

如何直接从我的Android应用程序打开Amazon AppStore?

来自分类Dev

从Android应用程序打开文件管理器

来自分类Dev

在Android中使用默认应用程序打开文件

来自分类Dev

从Android应用程序中打开html文件

来自分类Dev

Android:通过其他应用程序打开文件

来自分类Dev

如何列出我的android设备中的所有pdf文件

来自分类Dev

如何在属于我的Android应用程序的所有活动中禁用轮换?

Related 相关文章

  1. 1

    列出我的Android应用程序打开的所有文件

  2. 2

    从我的应用程序打开Google Play以列出我所有的应用程序:Android

  3. 3

    列出Android库中的所有应用程序资源

  4. 4

    用我的应用程序打开文件

  5. 5

    我们如何计算/列出特定程序/命令打开的所有文件?

  6. 6

    应用程序打开的文件太多-Android

  7. 7

    科尔多瓦列出了应用程序目录(WWW)中的所有文件

  8. 8

    如何使用我的所有应用程序打开Windows应用商店

  9. 9

    如何列出系统中安装的所有应用程序?

  10. 10

    以编程方式列出所有默认应用程序

  11. 11

    如何列出应用程序的所有实例?

  12. 12

    如何列出系统中安装的所有应用程序?

  13. 13

    我想在我的应用程序中打开 .pdf 文件

  14. 14

    我的iOS应用程序无法处理所有应用程序中的图像文件类型

  15. 15

    从我的Android应用程序以编程方式打开选定的文件(图像,pdf等)?

  16. 16

    如何让Android知道我的应用程序可以打开MP4文件

  17. 17

    我需要从我的Android应用程序访问Dropbox文件夹,选择一个文件并在我的应用程序中打开它

  18. 18

    打开应用程序启动器时禁用所有应用程序的概览

  19. 19

    Firefox下载种子使我没有打开它们的应用程序-只需打开下载文件夹

  20. 20

    Firefox下载种子使我没有打开它们的应用程序-只需打开下载文件夹

  21. 21

    没有键盘我不能打开应用程序吗?

  22. 22

    从我的Android应用程序打开VLC实时流

  23. 23

    如何直接从我的Android应用程序打开Amazon AppStore?

  24. 24

    从Android应用程序打开文件管理器

  25. 25

    在Android中使用默认应用程序打开文件

  26. 26

    从Android应用程序中打开html文件

  27. 27

    Android:通过其他应用程序打开文件

  28. 28

    如何列出我的android设备中的所有pdf文件

  29. 29

    如何在属于我的Android应用程序的所有活动中禁用轮换?

热门标签

归档