platformStream<T> function
Stream<T>
platformStream
<T>(- {_StreamCallback<T> android,
- _StreamCallback<T> ios}
)
Implementation
Stream<T> platformStream<T>({
_StreamCallback<T> android,
_StreamCallback<T> ios,
}) async* {
final releasePool = <Ref>{};
try {
if (android != null && Platform.isAndroid) {
yield android(releasePool);
} else if (ios != null && Platform.isIOS) {
yield ios(releasePool);
} else {
yield null;
}
} catch (e) {
yield e;
} finally {
if (releasePool.isNotEmpty) {
await releasePool.release_batch();
releasePool.clear();
// remove all local object from global object pool
gGlobalReleasePool.removeAll(releasePool);
}
}
}