我正在编写一个应用程序,我可以在其中录制音频并通过网络上传音频文件。为了加快上传速度,我想在录制完成之前开始上传。
我正在创建的文件是一个 WAV 文件。我的计划是使用多个数据块。因此,我使用的不是正常编码(RIFF、fmt、数据)(RIFF、fmt、数据、数据、...、数据)。第一个问题是 RIFF 标头想要整个文件的总长度,但在流式传输音频时当然不知道(我现在使用的是任意数字)。另一个问题是我不确定它是否有效,因为 Audacity 无法识别该文件,而 Windows Media Player 会打开该文件但只播放很小的一部分。我一直在阅读 WAV 规范,但还没有找到答案。
有什么建议?
执行多个SQL语句而不将它们放入一个事务中是一个严重的瓶颈(参见例如http://www.sqlite.org/faq.html#q19).我还没有彻底检查过如何在Android上配置SQLite,但有趣的是,当我在更多地方使用交易时,我认为我的应用程序内的性能会有显着提升.
是否有可能检测到使用StrictMode忘记使用事务的实例?如果没有,是否可以考虑将来的StrictMode版本?检测可能有些棘手,但两种不同的策略可能是:1)事务外的非选择语句,或2)在短时间内执行的事务外的多个非选择语句.