【发布时间】:2023-02-04 05:43:52
【问题描述】:
目前我使用构建器类在我的视图模型中创建我的 exoplayer 播放器对象。这是正确的方法吗,还是我应该创建播放器的单个实例并使用依赖注入将其注入到我需要的地方。我已经看到其他应用程序(例如 newpipe)使用单个实例。
【问题讨论】:
目前我使用构建器类在我的视图模型中创建我的 exoplayer 播放器对象。这是正确的方法吗,还是我应该创建播放器的单个实例并使用依赖注入将其注入到我需要的地方。我已经看到其他应用程序(例如 newpipe)使用单个实例。
【问题讨论】:
是的,您应该创建一个实例,因为媒体播放器会消耗大量资源。是的,依赖注入是个好主意,特别是如果您考虑测试的话。至于应该在哪里初始化,应该是在一个前台服务中。在服务实例中实现媒体播放器,以便在用户离开应用程序时它可以继续在后台播放。否则它会被系统杀死。如果那是您的目标,请使用服务。
有一个方便的指南可以向您解释实现此类应用程序时应遵循的架构。 Audio app overview
【讨论】: