问题描述
我有一个只有1个活动Activity和许多片段的android应用。有1种使用exoplayer的音频播放器服务。
在播放任何歌曲时,向上滑动即可杀死一些资源(大约150-200 MB),该资源已被该应用程序宣称,即使通过垃圾回收也无法释放-如通过Profiler(在Android Studio中)看到的那样。这些资源似乎是exoplayer的MediaSources。
通过日志语句,我可以确认MainActivity上的onDestroy在服务未绑定和销毁的地方也被调用。服务中的onTaskRemoved不会被调用。以下两个代码调整导致资源被释放:
- 如果我在MainActivity的onStop()而不是onDestroy()中以无限制的方式销毁服务-但我不希望这样做,因为我想在应用程序处于后台(未终止)时让音乐继续播放。
- 如果最终用户先反复按回以关闭该应用程序,然后向上滑动即可杀死。
- 最终用户通过电话中的“设置”强制停止也可以释放资源。
我可能会缺少什么,以便即使取消绑定并销毁服务,也无法在被杀死时释放服务要求的资源? 非常感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)