我想从iOS设备的磁盘连续流式传输游戏的大数据文件。
问题是,是否有人在使用System.IO.FileStream
之前已经流式传输了此类文件(20MB的块)。我没有自己做过iOS设备的测试,我不希望下次再得到它。
有两个问题:
感谢您提供任何信息。
最佳答案
MonoTouch基类库(BCL)来自Mono,因此很多代码都可以作为开源代码使用。在 FileStream
的情况下,您可以在github上查看代码。
是否在不完全加载文件的情况下对文件进行了流传输(我期望从流中获取的行为,但是我不确定MonoTouch的处理方式)
没错,它不会完全加载。您将控制正在阅读的内容。
以及流式传输时的内存使用情况如何?
上面的链接显示默认缓冲区大小设置为 8192 字节(8k),但几个构造函数允许您使用其他大小(如果需要)。
以及流式传输时的内存使用情况如何?
但是该缓冲区是内部缓冲区。当您调用诸如 Read
之类的方法时,您将提供自己的缓冲区,这样您将再次控制正在使用的内存量。
加载过程的性能如何,尤其是一次加载不同的文件时?
这很难预测,并且在很大程度上取决于您的应用程序(例如,文件数,所需的总内存...)。如果需要,可以使用 FileStream
等BeginRead
异步方法来获得更好的性能。
关于c# - iOS:流式传输大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9008003/