ios - AUParameterTree 释放导致死锁
问题描述
我在后台线程中遇到以下堆栈跟踪崩溃:
我的应用程序包含为给定的一组音频文件分配的音频单元。当给定的一组音频文件发生变化时,所有当前的音频单元都会被释放,并为新组创建新的音频单元。间歇性地,在音频单元的释放过程中,会发生上述崩溃。似乎当音频单元的 AUParameterTree 被释放时,会发生死锁。以前有人见过这样的症状吗?如果是这样,是什么导致了死锁以及如何防止死锁?
解决方案
您的音频单元或音频图是否正在运行或刚刚停止?如果是这样,那可能是问题的一部分。
因为音频单元在它们自己的单独线程中运行,并且需要时间来耗尽,所以您可能需要等待一段时间(可能需要 1 或 2 秒才能安全?),然后音频单元或其任何资源才能安全地运行解除分配。
推荐阅读
- python - 重塑更改分配规则
- python - Python - 如何重置列数据框名称熊猫中的数字顺序?
- java - BroadcastReceiver 在 Intent.ACTION_POWER_DISCONNECTED 上执行某些操作
- autodesk-forge - 如何列出特定存储桶的对象?
- c# - 如何使用 c# 将信件从 Exchange 移动到共享点库?
- javascript - 如何将此数据拆分为供应商和价格并将其分别存储在二维数组中
- z3 - 是否可以将两个字符串与 Z3 进行比较?
- c# - Entity Framework Core 在控制台应用程序中获取上下文
- c# - C# 中的语义解释 SRGS
- java - Querydsl:如何选择特定列