我想加載一個視頻文件到NSData中,如果我使用dataWithContentsOfFile:,它會花費大量的內存,當文件太大。 如何獲得具有偏移量和長度的文件的特定數據。 我需要分片上傳視頻文件。如何獲得一個巨大的視頻文件片數據
3
A
回答
1
您可以使用NSFileHandle,然後使用seekToFileOffset:進行搜索並使用readDataOfLength:讀取大塊數據。
1
這
NSData *data = [NSData dataWithContentsOfMappedFile:<path>];
NSRange first4k = {0, MIN([data length], 4096)};
return [data subdataWithRange:first4k];
給你只是一個文件的第一個4K無需加載它的全部。
但dataWithContentsOfMappedFile:已在iOS5中棄用。
我想 - 警告:未經測試! -
+ (id)dataWithContentsOfURL:(NSURL *)aURL options:(NSDataReadingOptions)mask error:(NSError **)errorPtr
與掩模組到
NSDataReadingMappedIfSafe
或
NSDataReadingMappedAlways
應該做的工作也是如此。
這是iOS5中的新功能。
0
這裏有一篇文章,可能會從Cocoa is my Girlfriend
幫助幾個星期前馬特龍在和一個應用程序運行內存的問題。他有一個巨大的數據文件,他需要加載和處理,並且該記憶點擊比應用程序能承受的更多。它會加載到一個NSData中,但在他完成之前,應用程序會缺少內存並死亡。
相關問題
- 1. 如何獲得下一個視頻?
- 2. 複製巨大.YUV視頻文件的一部分
- 3. 如何獲得視頻PHAsset磁盤文件大小?
- 4. 如何獲得視頻文件的幀數總數?
- 5. 如何獲得視頻的唯一ID
- 6. 從一個巨大的文件捲曲PUT數據?
- 7. 啓用一個巨大的數據幀
- 8. 轉換一個巨大的txt文件
- 9. PHP在一個巨大的CSV文件
- 10. 從一個巨大的文件
- 11. 分裂一個巨大的gz文件
- 12. Python解析一個巨大的文件
- 13. 上傳一個巨大的SQL文件
- 14. 拆分一個巨大的KML文件
- 15. 解析一個巨大的JSON文件
- 16. 處理一個巨大的access.log文件
- 17. 如何編輯一個巨大的文本文件內聯
- 18. 如何加快處理一個巨大的文本文件?
- 19. 如何獲得一個數據幀的多列切片在大熊貓
- 20. 如何讀取一個巨大的文件的塊特定的
- 21. 加入大文件到一個巨大的文件
- 22. hadoop中的巨大文件:如何存儲元數據?
- 23. 巨大的文件如何存儲在數據庫中?
- 24. 從Matlab中的巨大文件中獲取數據塊
- 25. 用bash在一個巨大文件中獲取一行
- 26. 如何創建一個巨大的Informix數據庫?
- 27. 如何獲得視頻中的圖片更改的時間?
- 28. 針對音頻和視頻等大文件的數據庫
- 29. Postgres的我怎樣才能獲得巨大的數據
- 30. 如何寫一個巨大的字符串到文件
這就是我要找的thx! – Patrick