Fixed
Status Update
Comments
mu...@gmail.com <mu...@gmail.com> #2
Hi
when you are saying
When I create an emulator, there is no cutout hole. It appears as I use it. I tried removing it in various ways, but the same phenomenon occurs.
Could you please tell us more about how you create your AVD? Are you creating your own skin? Or did you select one of the Device proposed in the Device Manager ? (e.g. "Small Phone", "Medium Phone", "Pixel 8",...)
there is no cutout hole. It appears as I use it
We are not sure about the situation you are referring to. Some screenshots would be useful, and also a detailed description of "It appears as I use it".
Thanks
th...@google.com <th...@google.com> #3
Hi
Android Studio Meerkat | 2024.3.1
Pixel 9 Pro XL
Android 16.0("Baklava") | x86_64
Api: 36
======================================================================
-- AppData\Local\Android\Sdk\skins\pixel_9_pro_xl\layout
parts {
device {
display {
width 1344
height 2992
x 0
y 0
corner_radius 0 <--------------- no effect
}
}
portrait {
background {
image back.webp
}
foreground {
mask mask.webp
cutout 0 <------------------------ Deleting or changing it has no effect
}
}
}
layouts {
portrait {
width 1466
height 3101
event EV_SW:0:1
part1 {
name portrait
x 0
y 0
}
part2 {
name device
x 57
y 56
}
}
}
-- No Effect
==========================================================
The same problem occurred when using different APIs on different devices.
But after deleting all
AppData\Roaming\Google\AndroidStudio...
directories and restarting, it seems to have been resolved.
Best regards
Android Studio Meerkat | 2024.3.1
Pixel 9 Pro XL
Android 16.0("Baklava") | x86_64
Api: 36
======================================================================
-- AppData\Local\Android\Sdk\skins\pixel_9_pro_xl\layout
parts {
device {
display {
width 1344
height 2992
x 0
y 0
corner_radius 0 <--------------- no effect
}
}
portrait {
background {
image back.webp
}
foreground {
mask mask.webp
cutout 0 <------------------------ Deleting or changing it has no effect
}
}
}
layouts {
portrait {
width 1466
height 3101
event EV_SW:0:1
part1 {
name portrait
x 0
y 0
}
part2 {
name device
x 57
y 56
}
}
}
-- No Effect
==========================================================
The same problem occurred when using different APIs on different devices.
But after deleting all
AppData\Roaming\Google\AndroidStudio...
directories and restarting, it seems to have been resolved.
Best regards
in...@neoos.ch <in...@neoos.ch> #4
Cutout hole appears again. I attatch a screenshot.
al...@gmail.com <al...@gmail.com> #5
Same... for simulator and device.
th...@google.com <th...@google.com>
in...@neoos.ch <in...@neoos.ch> #6
I've replaced the Google Maps SDK in the example project GMSMemory.zip with version 1.6.0.6204 and did test it again. Unfortunately nothing has changed, the exact same behavior is seen as described in the three steps in the original bug description.
cy...@gmail.com <cy...@gmail.com> #7
I can confirm previous comment - I've also replace maps in my project with new version, and nothing has changed. At start application use about 3Mb, when I open VC with map - memory usage increase to 40-50 Mb, and after closing this VC, memory usage is about 10-12 Mb.
br...@google.com <br...@google.com> #8
How are you guys measuring memory usage on the device? We had a leak that we found and fixed, but that sounds like it was a different issue to the one you are looking at.
in...@neoos.ch <in...@neoos.ch> #9
I'm using the "Debug Navigator" in Xcode (View > Navigators > Show Debug Navigator). It just gives a high-level view of memory consumption. You can use the attached GMSMemory.zip demo project to reproduce it.
br...@google.com <br...@google.com> #10
While we agree that the Debug Navigator is showing growth in memory on the simulator, we are not seeing a matching growth in memory consumption on physical devices. Do you have a methodology for testing memory usage of adding and releasing a map on a physical device?
in...@neoos.ch <in...@neoos.ch> #11
If I run the attached project on a device I get the same picture: starting with 2.7mb, then going up to 23.6 when displaying the map, and then back to 13.1mb when releasing the map (running on iPhone 5 attached to Xcode and monitoring memory consumption in "Debug Navigator").
cc...@yahoo.com <cc...@yahoo.com> #12
Google, please debug and resolve this memory leak, it's making your latest SDK (1.7) impossible to use in a commercial product. Panoramic street views really exacerbate the memory leak too, I'm hitting it within minutes in my iOS app.
jo...@gmail.com <jo...@gmail.com> #13
Google, as per the comments above we are also using your latest SDK v1.7 in iOS v7 and our app falls to its knees in 1-2 minutes due to leaking memory from your API, please fix asap otherwise we will need to switch to apple maps and we really want to avoid this.
wi...@gmail.com <wi...@gmail.com> #14
I'm seeing the same thing as everyone else - in the simulator and on the device. Critical that this gets fixed.
io...@gmail.com <io...@gmail.com> #15
Latest Google SDK, same problem, Please solve it
Thanks
Thanks
wi...@gmail.com <wi...@gmail.com> #16
A workaround is to keep a reference to the same map view instance and re-use it. In my testing, memory climbs to about 60mb and then plateaus - instead of climbing indefinitely (see graphs).
Something like this.
-(GMSMapView *)getMapView {
if (self.mapView == nil) {
self.mapView = [[GMSMapView alloc] init];
} else {
self.mapView.delegate = nil;
[self.mapView clear];
[self.mapView removeFromSuperview];
for (UIGestureRecognizer *recognizer in self.mapView.gestureRecognizers) {
[self.mapView removeGestureRecognizer:recognizer];
}
}
return self.mapView;
}
Something like this.
-(GMSMapView *)getMapView {
if (self.mapView == nil) {
self.mapView = [[GMSMapView alloc] init];
} else {
self.mapView.delegate = nil;
[self.mapView clear];
[self.mapView removeFromSuperview];
for (UIGestureRecognizer *recognizer in self.mapView.gestureRecognizers) {
[self.mapView removeGestureRecognizer:recognizer];
}
}
return self.mapView;
}
wi...@gmail.com <wi...@gmail.com> #17
Here is the graph after re-using the map view.
da...@gmail.com <da...@gmail.com> #18
The same problem with 1.7.2 sdk on different kinds of apple devices and simulators. Temporary solution for me was to use a single shared instance of GMSMapView. In that case used memory size is big (60-80Mb) but limited.
[Deleted User] <[Deleted User]> #19
yep i'm seeing the same issue, can only agree that current solution is to retain a copy of the map view insteading of creating new map view.s
th...@google.com <th...@google.com> #20
We believe this is resolved in 1.8.0, released today.
wi...@gmail.com <wi...@gmail.com> #21
Just tried the new version. Definitely not fixed for me. This graph shows a map being created, then destroyed several times. Each time, memory is never released by the map instance.
wi...@gmail.com <wi...@gmail.com> #22
Scratch that. It is fixed now. My previous memory issue was with a self reference in a block not letting the view controller get released.
b....@gmail.com <b....@gmail.com> #23
are the above bug solved in the latest sdk??it seems it is still present ?
br...@google.com <br...@google.com> #24
Engineering investigated and fixed the instances we had on hand. If you have a new instance that demonstrates this issue, please raise a new issue with a reproduction sample hosted on GitHub or the like. Thanks!
br...@google.com <br...@google.com> #25
Engineering investigated and fixed the instances we had on hand. If you have a new instance that demonstrates this issue, please raise a new issue with a reproduction sample hosted on GitHub or the like. Thanks!
[Deleted User] <[Deleted User]> #26
What worked for me after a long time was removing the `@try` clause I wrapped a ` [self.mapView removeObserver:self forKeyPath:@"myLocation"];` statement I had upon in `dealloc`. My intention was to remove `self` as observer when the ViewController is dealloc'd, and ignore the exception if it is not an observer.
Apparently `@try` somehow retains the mapView, which makes it stay in memory (via ARC). See why here:http://stackoverflow.com/questions/27140891/why-does-try-catch-in-objective-c-cause-memory-leak .
Apparently `@try` somehow retains the mapView, which makes it stay in memory (via ARC). See why here:
Description
1. Launch app (Memory usage: 3.1 MB)
2. Press '+' button to instantiate GMS View (Memory usage: 52.7 MB)
3. Touch "Back" to release GMS View (Memory usage: 30.2 MB)
Why doesn't it go back to about 3 MB?
Operating system version: iOS 7.0.2
Google Maps SDK for iOS version: 1.5.0.5445
Hardware model: iPhone Simulator
*********************************************************
For developers viewing this issue: please click the 'star' icon to be
notified of future changes, and to let us know how many of you are
interested in seeing it resolved.
*********************************************************