[TIMOB-19994] Android: Fix memory leaks in UI proxies
| GitHub Issue | n/a |
|---|---|
| Type | Story |
| Priority | Critical |
| Status | Closed |
| Resolution | Done |
| Resolution Date | 2016-08-04T03:19:34.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | Release 5.4.0 |
| Components | Android, Hyperloop |
| Labels | n/a |
| Reporter | Christopher Williams |
| Assignee | Christopher Williams |
| Created | 2015-11-16T15:37:18.000+0000 |
| Updated | 2016-08-04T03:19:34.000+0000 |
Description
If we generate a native UI proxy (say an android.view.View) and add it to a Titanium UI, we don't properly clean up all the native proxies we've generated leading to a large memory leak. Specifically we need a way to track all UI proxies added as children in the view hierarchy and explicitly release them when the top-level native view is asked to release in our Java code (TiUIView.releaseAllViews())
https://github.com/appcelerator/hyperloop.next/pull/30
Thanks Chris! The changes are quite small, compared to their impact. It will take me some time to check several cases. Then [~cng] is our man to decide whether or not it can even get into 5.4.0 instead of 6.0.0. I guess fixing memory leaks cooould be fine, since it's no feature but a critical bugfix. But we can worry about when it's reviewed and merged. Thanks guys!