我开始使用Roku开发,在玩完示例并阅读文档,论坛等之后,我注意到没有通过应用程序代码处理应用程序关闭/退出事件或处理主页按钮等...
考虑到这一点,我有以下情况:
我启动一个组件任务,打开TCP套接字/连接并侦听我发送的一些自定义命令。当然,任务在循环中运行,等待并通过套接字读取数据,更新应用程序UI等等...(类似于此示例https://sdkdocs.roku.com/display/sdkdoc/roStreamSocket,只是不允许多个连接)
如果我无法捕获app / exit关闭事件,我该如何处理关闭TCP套接字/端口?
我是否应该在Roku / BrightScript方面担心,套接字是否自动关闭且任务已停止?(我注意到在按下Home后重新运行应用程序会打开套接字连接在同一个端口,所以我猜它已正确关闭,但如果没有任何代码处理仍然有点感觉错误:))
我在这个例子https://sdkdocs.roku.com/display/sdkdoc/roDataGramSocket上看到它说:
udp.close() ' would happen automatically as udp goes out of scope
这让我相信当应用关闭时会自动关闭。 (与我实施的一些测试一样)
我说得对吗? :)我需要做的就是为客户端实现一些ping / pong事件,以便能够检测到Roku应用程序套接字已关闭。
答案 0 :(得分:1)
是的,任务停止,应用程序退出时关闭套接字,释放内存等。发生拆除/清理