0

出于基准测试的目的,我重复从资产加载数据并使用 Superpowered SDK 处理它。为了使用 Superpowered SDK 打开资产,我AssetFileDescripter afd在 java 端创建了一个并使用 apk 的路径afd.getStartOffset()afd.getLength()参数进行 JNI 调用。在这个 JNI 函数中,我使用 SuperpoweredDecoder 加载资产并创建一个新文件 ( /storage/emulated/0/result.wav) 以保存结果。

问题是,当我AssetFileDescripter在 java 端的每个基准迭代中创建一个新文件/storage/emulated/0/result.wav时,使用 Superpowered SDK 创建文件在 971 次迭代后失败,或者大多数情况下是 995 次迭代。

如果我AssetFileDescripter在所有迭代中只使用一个相同的,那么一切正常,我可以进行 1000 次或更多的基准迭代。有人有想法吗?(我的测试设备的android版本是4.4.2)

我会感谢所有提示。

4

1 回答 1

1

每次迭代后关闭资产文件描述符解决了我的问题。关于打开的文件描述符,似乎确实存在与设备相关的限制。(点击评论中的问题链接)

于 2017-02-19T20:39:20.410 回答