Exception 例外:打开的文件太多(MonoTouch)

Exception 例外:打开的文件太多(MonoTouch),exception,xamarin.ios,Exception,Xamarin.ios,我正在编写一个MonoTouch应用程序,可以下载1000多个单独的PDF文件,并将它们作为一个巨大的PDF文件打开。我查看文档没有问题,但是如果我关闭/打开文档几次,它就会抛出 异常:打开的文件太多 /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.IO/FileStream.cs:310中的t System.IO.FileStream..ctor(System.String路径、FileMode模式、FileAccess访问、F

我正在编写一个MonoTouch应用程序,可以下载1000多个单独的PDF文件,并将它们作为一个巨大的PDF文件打开。我查看文档没有问题,但是如果我关闭/打开文档几次,它就会抛出

异常:打开的文件太多 /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.IO/FileStream.cs:310中的t System.IO.FileStream..ctor(System.String路径、FileMode模式、FileAccess访问、FileShare共享、Int32 bufferSize、布尔匿名、FileOptions选项)[0x00275] 在0中的System.IO.FileStream..ctor(System.String路径,FileMode模式)[0x00000]处

我已经使用MonoTouch好几年了,从来没有遇到过这样的问题。这可能是Xamarin.iOS的新问题吗

我也在论坛上看到他们通过使用ulimit-a解决了这个问题,但是我如何将其应用到iPad应用程序中呢


有人吗?

Xamarin.iOS本身对打开的文件没有限制。但是,当操作系统(本例中为iOS)报告打开的文件过多时,将引发此异常

检查您的设备日志(例如Xcode organizer),您应该会看到iOS对打开文件数量的抱怨

在处理文件时,甚至比其他
IDisposable
更重要的是,在不再需要它们时关闭它们。不要等待GC自动完成它

你也可以尝试使用仪器或类似的东西 要查看哪些文件处于打开状态,请执行以下操作:
应该告诉你是谁打开的。例如,它们可能并非都是您的(例如,如果您在应用程序中嵌入了许多字体)。

在Xamarin.iOS本身中打开的文件没有限制。但是,当操作系统(本例中为iOS)报告打开的文件过多时,将引发此异常

检查您的设备日志(例如Xcode organizer),您应该会看到iOS对打开文件数量的抱怨

在处理文件时,甚至比其他
IDisposable
更重要的是,在不再需要它们时关闭它们。不要等待GC自动完成它

你也可以尝试使用仪器或类似的东西 要查看哪些文件处于打开状态,请执行以下操作: 应该告诉你是谁打开的。例如,它们可能并非都是您的(例如,如果您在应用程序中嵌入了许多字体)