在组件销毁前如何回收对象池对象?跪求高手点破

今天在敲代码的时候遇到这么个问题!
测试用例如下:
一:A场景(a脚本)
1.初始对象池对象数量为10.
2.A场景内我使用了10个对象池对象.
3.最终对象池对象数量为0.

二:A场景转成B场景(b脚本)
4.使用cc.director.loadScene(“BScene”);由A转B场景

那么问题来了?
我在a脚本布置的10个对象如何回收?

由于a脚本不知道b脚本调用场景转行,我本来想在onDisable里把10对象回收,但是触发了一个错误:

Cannot change hierarchy while activating or deactivating the parent.

意思是我不能在停用的父级更改层次结构,也就是不能回收…

这里我就郁闷了,我思考了好久,也查阅了手册,也找不到答案,请问大神们是怎么解决的?

可以尝试监听场景跳转前的事件

什么事跳转前的事件
我现在的解决方案
只能在A场景做cc.game.on的监听
在B场景需要转之前,直接触发A,然后由A跳转场景,不在B跳转了.
虽然是能回收资源了,但是感觉很傻逼的行为