Release and dispose

This page has not been translated yet.

Room ライブラリを基準に記載しておりますので、特に断りがない場合 Core ライブラリをご利用いただいている場合は Channel と読み替えてください。

また、リソースとは、SDK で生成される全てのインスタンスおよびそのメモリを指します。

Room の管理

Room インスタンスは操作不要な状態になるまでアプリケーションで管理してください。

OK

val room = P2PRoom.findOrCreate(name = "room") // 入室 val memberInit = RoomMember.Init(name = "member001") val localRoomMember = room?.join(memberInit) ... // 退出 localRoomMember.leave() // Roomを含むリソースが不要になった room.dispose() room = null

NG

val room = P2PRoom.findOrCreate(name = "room") // 入室 val memberInit = RoomMember.Init(name = "member001") val localRoomMember = room?.join(memberInit) ... // 破棄 room = null // 危険: クラッシュする可能性があります localRoomMember.publish(stream)

Room を閉じた後の挙動

誰かが明示的に Room を閉じたときに Member が入室していた場合、 Publish と Subscribe を中止して退出します。

Room を閉じた後にそこで生成されたリソースの操作はエラーになります。

SkyWayを終了する

アプリケーションにおいて SkyWay の機能を利用しなくなった場合、SkyWayContext.dispose() をコールすることで SkyWay サーバーとの通信を切断し、SDK で管理している全てのリソースを破棄します。

Member の Room または Channel の退出処理は行うことは必要です。

また、SkyWayContext.dispose() をコールした後、それまで生成したリソース(インスタンス)にアクセスしないでください。

アクセスした場合の挙動は未定義でアプリケーションがクラッシュする可能性があります。

dispose() 後に再度 setup(context, option) することで再度 SkyWay サーバーと接続できます。

This website uses cookies to improve website performance and for other purposes.
By clicking "Accept Cookies," you agree to the use of cookies. For more information, click here.