fix(): Fixed memory leak when use MusicService in fold-out window
This commit is contained in:
parent
2b64c7ea3d
commit
14a0a6d1c9
1 changed files with 6 additions and 2 deletions
|
@ -277,6 +277,7 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
private var wakeLock: WakeLock? = null
|
private var wakeLock: WakeLock? = null
|
||||||
private var notificationManager: NotificationManager? = null
|
private var notificationManager: NotificationManager? = null
|
||||||
private var isForeground = false
|
private var isForeground = false
|
||||||
|
private var audioVolumeObserver: AudioVolumeObserver? = null
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
val telephonyManager = getSystemService<TelephonyManager>()
|
val telephonyManager = getSystemService<TelephonyManager>()
|
||||||
|
@ -354,8 +355,8 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
.registerContentObserver(
|
.registerContentObserver(
|
||||||
MediaStore.Audio.Playlists.INTERNAL_CONTENT_URI, true, mediaStoreObserver
|
MediaStore.Audio.Playlists.INTERNAL_CONTENT_URI, true, mediaStoreObserver
|
||||||
)
|
)
|
||||||
val audioVolumeObserver = AudioVolumeObserver(this)
|
// val audioVolumeObserver = AudioVolumeObserver(this)
|
||||||
audioVolumeObserver.register(AudioManager.STREAM_MUSIC, this)
|
audioVolumeObserver?.register(AudioManager.STREAM_MUSIC, this)
|
||||||
registerOnSharedPreferenceChangedListener(this)
|
registerOnSharedPreferenceChangedListener(this)
|
||||||
restoreState()
|
restoreState()
|
||||||
sendBroadcast(Intent("code.name.monkey.retromusic.RETRO_MUSIC_SERVICE_CREATED"))
|
sendBroadcast(Intent("code.name.monkey.retromusic.RETRO_MUSIC_SERVICE_CREATED"))
|
||||||
|
@ -386,6 +387,9 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
releaseResources()
|
releaseResources()
|
||||||
contentResolver.unregisterContentObserver(mediaStoreObserver)
|
contentResolver.unregisterContentObserver(mediaStoreObserver)
|
||||||
unregisterOnSharedPreferenceChangedListener(this)
|
unregisterOnSharedPreferenceChangedListener(this)
|
||||||
|
// add unregister audioVolumeObserver method to avoid memory leak
|
||||||
|
// val audioVolumeObserver = AudioVolumeObserver(this)
|
||||||
|
audioVolumeObserver?.unregister()
|
||||||
wakeLock?.release()
|
wakeLock?.release()
|
||||||
sendBroadcast(Intent("code.name.monkey.retromusic.RETRO_MUSIC_SERVICE_DESTROYED"))
|
sendBroadcast(Intent("code.name.monkey.retromusic.RETRO_MUSIC_SERVICE_DESTROYED"))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue