我们为 2011 和 2012 平台开发了三星智能电视应用程序。该应用程序基于 HTML/JavaScript。通常应用程序运行良好,但在退出应用程序后变得非常慢,慢了六倍。测得的 JS 执行时间只是稍微慢了一点,但 HTML 元素在屏幕上呈现的速度要慢得多。此行为发生在所有设备(具有智能电视平台的电视和蓝光播放器设备)上。
退出是通过执行js命令实现的
var widgetAPI = new Common.API.Widget();
widgetAPI.sendExitEvent();
使用命令时,应用程序的行为相同(即再次启动后变慢)
widgetAPI.sendReturnEvent();
(将用户返回到 Smart Hub 而不是完全退出)。通过反复试验,我发现故意让应用程序崩溃可以解决问题——这会导致用户的行为与调用该sendExitEvent
方法的行为相同。但是,这不是一个非常干净的方法,而且我更喜欢使用该sendReturnEvent
命令。
如何以编程方式将用户返回到 Smart Hub,以便应用程序在再次启动时不会变慢?
我希望有人对此有一些第一人称的经验和建议。我试图消除可能的 JS 内存泄漏源(使用 JS 编程最佳实践和三星的建议),但这并没有解决问题。