首页 > 解决方案 > Xamarin iOS 应用在 iOS 12 模拟器上使用 750 个文件句柄,在 iOS 13 模拟器上仅使用 250 个

问题描述

我有一个在 iOS 12 模拟器和 iOS 13 模拟器上运行的 Xamarin iOS 应用程序。我正在使用 Visual Studio Professional 在配对的 Mac 上启动模拟器。Mac 有 iOS 12.0 模拟器和 iOS 13.3 模拟器。当我在 iOS 12 模拟器上调试我的应用程序时,通过 HttpClient 下载一堆文件后,我很快就用完了文件句柄;而在 iOS 13 上我没有。

通过 Process.Start运行lsof表明在 iOS 12 上调试开始时打开了大约 750 个文件句柄,而在 iOS 13 模拟器上只有 250 个文件句柄。出现在 iOS 12 而不是 13 上的文件句柄是这些“iOS 12.0.simruntime”文件,如下所示:

在此处输入图像描述

我在我们的发布应用程序以及 iOS 12 上看到文件句柄耗尽,所以我相信这个问题不仅仅是调试相关的。我很难理解为什么所有这些文件都在调试 iOS 12 而不是 13 时打开。

标签: iosxamarinlsof

解决方案


推荐阅读