Search Issue Tracker
By Design
Votes
1
Found in
2019.4
2019.4.10f1
2020.1
2020.1.0a13
2020.2
Issue ID
1281474
Regression
Yes
[UAAL] [iOS] Application.Unload() does not free up memory
Reproduction steps:
1. Open customer's attached project in "UnityProject.zip"
2. Build and Deploy to an iOS device
3. In Xcode open the resources tab (spray can icon)
4. Inspect memory usage
5. In Application press the Unload button (Application.Unload() will be called)
6. Inspect memory usage
Expected result: Memory usage is greatly reduced (2018.4.29f1 goes from 180 to 120 MB)
Actual result: Memory usage stays the same (or gets < 10MB lower)
Reproducible with: 2019.4.15f1, , 2020.1.0a13, 2020.1.13f1, 2020.2.0b9, 2021.1.0a5
Not reproducible with: 2018.4.29f1, 2020.1.0a12
Devices tested:
VLNQA00310 iPad Pro 12.9 1st gen (iOS 13.4.1)
VLNQA00204 iPhone 5C (iOS 10.3.3)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (2021.1.X):
Application.Unload used to do basically the same as Application.Quit before the behaviour changed, hence the bigger memory release. After the behaviour changed, Application.Unload allows loading Unity again.
In this particular case, Application.Quit could be called (assuming Unity will not be loaded again), also overriding application quit handler to prevent the app from exiting.