Open fanmingyi opened 1 year ago
我看到作者会中文加之我的英文较差怕引起歧义使用中提出此PR。
这一个非常棒的项目,帮我解决了一些项目中的问题。
(1) 我发现Demo在持续运行时内存不断增加。点击停止后按钮内存依旧没有回收。 在翻阅Issues发现类似问题类似Issues
我发现问题有两个: 问题1. Recognizer在Native指针始终没有释放所以点击停止录音并没有释放对应内存 问题2. 持续录制时会不断存储缓存并从不释放,比较核心的代码如下。Expand内部代码内部调用PushArc将内存占用情况劣化。openfst我看到有内存gc机制由于我对于音视频知识匮乏暂无往下继续研究。这个情况我在IOS也发现存在。
//openfst arc-map.h size_t NumArcs(StateId s) { if (!HasArcs(s)) Expand(s); return CacheImpl<B>::NumArcs(s); } size_t NumInputEpsilons(StateId s) { if (!HasArcs(s)) Expand(s); return CacheImpl<B>::NumInputEpsilons(s); }
此PR主要解决问题1
在使用PR停止录音内存有回落,如下图
我看到作者会中文加之我的英文较差怕引起歧义使用中提出此PR。
这一个非常棒的项目,帮我解决了一些项目中的问题。
(1) 我发现Demo在持续运行时内存不断增加。点击停止后按钮内存依旧没有回收。 在翻阅Issues发现类似问题类似Issues
我发现问题有两个: 问题1. Recognizer在Native指针始终没有释放所以点击停止录音并没有释放对应内存 问题2. 持续录制时会不断存储缓存并从不释放,比较核心的代码如下。Expand内部代码内部调用PushArc将内存占用情况劣化。openfst我看到有内存gc机制由于我对于音视频知识匮乏暂无往下继续研究。这个情况我在IOS也发现存在。
此PR主要解决问题1