拡張コンテキストのファイナライズ処理

拡張の ActionScript 側では、ExtensionContext インスタンスの dispose() メソッドを呼び出すことができます。 dispose() を呼び出すと、ランタイムは拡張のコンテキストファイナライズ処理関数を呼び出します。 FREContextFinalizer() のシグネチャを使用して、拡張のコンテキストファイナライズ処理関数を定義します。

このメソッドには 1 つの入力パラメーター(FREContext 値)があります。この FREContext 値を FREGetContextNativeData() および FREGetContextActionScriptData() に渡して、コンテキスト固有データにアクセスできます。このコンテキストに関連付けられたすべてのデータとリソースをクリーンアップします。

ActionScript 側で dispose() を呼び出さない場合は、ランタイムのガベージコレクターが、ExtensionContext インスタンスに対する参照がなくなったときに、そのインスタンスを破棄します。この時点で、ランタイムはユーザーが作成したコンテキストファイナライズ処理関数を呼び出します。

次のシーケンス図に、AIR ランタイムが FREContextFinalizer() 関数を呼び出す様子を示します。

フルサイズのグラフィックを表示
拡張コンテキストのファイナライズ処理シーケンス