Android 图像流ionic webview/cordova应用程序依赖onStop()而不是onPause()
我有一个特定的情况,即需要处理的特定于应用程序的情况。我的应用程序是一款爱奥尼亚视频监控应用程序,它使用cordova作为各种插件。它显示流式JPEG图像作为其功能的一部分 我需要处理的场景包括:Android 图像流ionic webview/cordova应用程序依赖onStop()而不是onPause(),android,cordova,ionic-framework,Android,Cordova,Ionic Framework,我有一个特定的情况,即需要处理的特定于应用程序的情况。我的应用程序是一款爱奥尼亚视频监控应用程序,它使用cordova作为各种插件。它显示流式JPEG图像作为其功能的一部分 我需要处理的场景包括: 如果应用程序进入后台,它需要清除视频资源,这会导致视频流停止 如果应用程序在多窗口模式(Android 7.0+)下运行,则需要在拆分窗口模式下并排运行另一个应用程序,即使用户正在与另一个应用程序交互 如果应用程序在多窗口模式下运行,并且用户实际将其切换到视图之外,则需要清除视频资源 尽管如此,以下是
onStop()
作为回调。我们只得到onPause()
。在多窗口中运行时会出现问题,因为当用户点击另一个应用程序时,我的应用程序会得到一个onPause()
,并认为它将进入后台并清除视频资源。显然,这是不可取的,观众希望视频播放继续(不是流式视频而是流式图像,因此我们这里没有真正的PIP视频播放器)stop()
和pause()
(作为推论,resume()
和start()
)以获得视频播放等用户体验
鉴于上述具体要求,我已达成以下解决方案:
onStop()
和onStart()
和多窗口状态(这是我几天前询问的另一个相关问题的结果)pause
和resume
事件,而只依赖onStop()
和onStart()
(简化了一个事件没有两个回调的过程,暂停和停止/恢复和启动)onPause()
,何时调用onStop()
。在我看来,他们总是被召集在一起。我已经阅读了活动对话框
的案例。根据那里的描述,这种情况对我的应用来说似乎很好,因为我不需要清理视频资源onPause()
browser事件,而是使用cordovaonStop()
?当我进行测试时,我可能遗漏了一些其他人可能愿意给我建议的明显内容
当我的应用程序实际移动到后台且其UI未显示时(因为某些浏览器问题,否则会导致大量泄漏),我的应用程序能够释放视频资源是非常关键的,因此重要的是我不会错过任何活动。因此,我想确保对onStop()
进行的onPause()
开沟不会导致错过的情况。我还需要支持运行Android 4.2和4.4的用户,我使用的是现在已经不存在的crosswalk库,因此我确实需要确保通过采用这种方法,我不会寻求一种只适用于现代系统的解决方案。回答我自己的问题:
我已经测试这种方法有一段时间了,我没有看到任何明显的问题——Android的旧版本和新版本似乎都表现良好