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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
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.