Fixed
Status Update
Comments
sy...@google.com <sy...@google.com> #2
A link to another sample project demonstrating that the leak only happens when using: LocationServices.FusedLocationApi.requestLocationUpdates but does not happen using a deprecated method: googleMap.setOnMyLocationChangeListener.
https://github.com/fernandospr/android-maps-userlocation
b....@gmail.com <b....@gmail.com> #3
Hello, I'm also experiencing the memory leak in my activity responsible for the location service.
The implementation of my project is not different from the example project attached by fernando.
The implementation of my project is not different from the example project attached by fernando.
sy...@google.com <sy...@google.com> #4
FYI this memory leak also seems to exist when using the new FusedLocationProviderClient. I took Fernano's sample from comment #2 and hacked it up to use the FusedLocationProviderClient and was still able to observe the leak upon exiting the activity.
b....@gmail.com <b....@gmail.com> #5
Leak still present in 2019 on latest play-services-location 16.0.0. 3+ years since first reported via linked Github issue, no fix or hint of acknowledgment. Clown college grade software engineering.
sa...@gmail.com <sa...@gmail.com> #6
I am also still experiencing this!
sy...@google.com <sy...@google.com> #7
Still present in 'com.google.android.gms:play-services-location:17.0.0'
As an alternative I am using FusedLocationProviderClient with PendingIntent:
IntentFilter intentFilter = new IntentFilter(ACTION_LOCATION);
registerReceiver(locationReceiver, intentFilter);
mFusedLocationClient.requestLocationUpdates(mLocationRequest, locationPendingIntent);
and
unregisterReceiver(locationReceiver);
mFusedLocationClient.removeLocationUpdates(locationPendingIntent)
Here is forked LocationUpdates repo with LeakCanary installed and an option to switch between LocationCallback and PendingIntent. LeakCanary not reporting anything when using PendingIntent.
https://github.com/dejandobnikar/location-samples/tree/master/LocationUpdates
As an alternative I am using FusedLocationProviderClient with PendingIntent:
IntentFilter intentFilter = new IntentFilter(ACTION_LOCATION);
registerReceiver(locationReceiver, intentFilter);
mFusedLocationClient.requestLocationUpdates(mLocationRequest, locationPendingIntent);
and
unregisterReceiver(locationReceiver);
mFusedLocationClient.removeLocationUpdates(locationPendingIntent)
Here is forked LocationUpdates repo with LeakCanary installed and an option to switch between LocationCallback and PendingIntent. LeakCanary not reporting anything when using PendingIntent.
ty...@gmail.com <ty...@gmail.com> #8
Thank you for your feedback. We assure you that we are doing our best to address all issues reported. For now, we will be closing the issue as won't fix obsolete. If this issue currently still exists, we request that you log a new issue along with the bug report here https://goo.gl/TbMiIO and reference this bug for context.
Description
Please answer all relevant questions below so that we have enough information to investigate your issue. Providing incomplete information will delay investigation of your issue.
Bug Report Template
Describe the issue: expected vs. observed behavior and/or appearance.
ReconnectionService is trying to start a service in the background. This is causing an IllegalStateException on Android 8+.
com.google.android.gms.cast.framework.ReconnectionService }: app is in background uid UidRecord{c51b1af u0a131 TPSL bg:+2m55s135ms idle change:cached procs:1 seq(0,0,0)}
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
at android.app.ContextImpl.startService(ContextImpl.java:1532)
at android.content.ContextWrapper.startService(ContextWrapper.java:664)
at com.google.android.gms.internal.cast.zzai.zzg$1385ff(Unknown Source:19000)
at com.google.android.gms.internal.cast.zzai.onStatusUpdated(Unknown Source)
at com.google.android.gms.cast.framework.media.zzr.onStatusUpdated(Unknown Source:30)
at com.google.android.gms.internal.cast.zzdh.onStatusUpdated(Unknown Source:6)
at com.google.android.gms.internal.cast.zzdh.zza(Unknown Source:14000)
at com.google.android.gms.cast.framework.media.RemoteMediaClient.zzb(Unknown Source:2)
at com.google.android.gms.internal.cast.zzct.run(Unknown Source:31)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
List steps to reproduce the issue, if known.
We have been unable to reproduce locally but it is our largest crash.
Which version of the Cast SDK are you using?
15.0.1
On which version(s) of the OS (iOS, Android) do you observe the problem?
Android
On which device type(s) such as phones, tablets or laptops (iPad, iPhone, etc.) do you observe the problem?
Android devices
Do you observe the problem when running on a physical device, or the simulator, or both?
We haven't reproduced, but it happens on user devices.
If this is a device discovery or device connectivity issue: Do you observe the problem over Cellular (using Guest Mode), WiFi (using either Guest Mode or local connection), or both?
If this is strictly a UI appearance/styling issue, please take screenshot(s) (for iOS, and Android) illustrating the problem and attach them to the bug report. Also mention whether the problem occurs in portrait orientation, landscape orientation, or both.
If this is not a UI appearance/styling issue, please capture logs from the SDK for a time interval leading up to and including the occurrence of the problem, and attach them to the bug report. For issues relating to device discovery, the log should cover at least 20 seconds. For issues relating to device connectivity, the log should cover the entire time during which you attempted to start a Casting session.
Obtaining iOS Cast SDK Logs:
Obtaining Android Cast SDK Logs: