在 iOS 中管理大量文件的最佳方式

Posted

技术标签:

【中文标题】在 iOS 中管理大量文件的最佳方式【英文标题】:Best way to manage a large number of files in iOS 【发布时间】:2016-04-22 10:59:42 【问题描述】:

我的应用程序中将包含大量 mp3 文件。现在,这就是我所做的:

使用On Demand Resources,这样文件就不会影响应用大小;

首次发布时:

如果用户连接到WiFi,下载所有文件并存放在应用文档目录中; 如果用户未连接到 WiFi,请让他下载或稍后再下载。

现在我的问题是:

例如,如果总文件大小超过 300mb,这将是一个问题,因为用户可能会因为空间不足而删除应用程序。我该如何解决这个问题?

我在想:

在线存储我的文件并播放,但是每次用户想要播放它们时,他都会使用移动数据。或者,如果用户没有数据连接或者他在没有信号的地方,他将无法使用该应用程序;

将文件压缩成一个 zip 文件,然后在用户想播放时解压缩并再次压缩;

询问用户他想下载哪些文件,如果他想下载更多文件,则将其删除。

【问题讨论】:

您使用什么格式的音频文件?是 wav 还是像 mp3 或 ogg 这样的压缩格式? mp3(我将在问题中添加此详细信息)。顺便说一句,这是最好的格式还是有更好的格式? (尺寸更小而不损失质量) 【参考方案1】:

在不知道普通用户将如何使用该应用程序的情况下,不可能说是下载所有内容、只允许用户下载所需文件还是在线存储所有内容更好。一般来说,如果用户连接速度较慢,您不应让用户等待或限制应用功能。

您应该做的一件事是尽可能减小文件大小。 Zip 对您没有帮助,因为它无法减少已压缩的媒体文件(如 mp3、ogg 等)。

首先检查音频比特率是否太大。不同用途的典型比特率:

32kbit/s:AM 无线电质量 48kbit/s:长语音播客的常用速率 64kbit/s:正常长度语音播客的常用速率 96kbit/s:FM 广播质量 128kbit/s:最常见的 MP3 音乐比特率 160kbit/s:音乐家或敏感听众更喜欢这个而不是 128kbit/s 192kbit/s:数字无线电广播质量 320kbit/s:与 CD 几乎没有区别 500kbit/s-1,411kbit/s:线性PCM等无损音频编码

因此,如果音频仅包含语音,48 kbit/s 通常就足够了。对于音乐 128 应该没问题。

第二 - 您应该使用比 mp3 更好的压缩编解码器。有关详细信息,请查看此链接http://soundexpert.org/encoders-48-kbps,但通常您应该使用 AAC 编解码器。

【讨论】:

嘿!我还应该参考winxdvd.com/resource/pics/aac-vs-mp3-file-size-comparison.jpg 吗?所以根据音频长度,在 mp3 和 aac 之间进行选择? @fabersky 这张照片与质量无关。在比特率相同的情况下,AAC 比 mp3 具有更好的质量(更少的噪音、更少的声音伪影)。 @fabersky 这张图片来自winxdvd.com/resource/aac-vs-mp3.htm 文章吗?您还可以在本文中发现“96Kbs 的 AAC 文件听起来比 128Kbs 的 MP3 文件更好;”。

以上是关于在 iOS 中管理大量文件的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在 UNIX 进程之间交换适度大量数据的最佳方式是啥?

在内部存储最佳实践中保存大量图像

在目录中搜索大量文件?

合并大量小文件以最大化可恢复性的最佳方法是啥

在 ASP.NET 中发送大量电子邮件的最佳方式是啥?

PHP最佳实践,显示包含大量行数的文件中的所有行