Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ios): remove additional gc protection once proxy is remembered (8_2_X) #11274

Merged
merged 4 commits into from Oct 14, 2019

Conversation

janvennemann
Copy link
Contributor

@build
Copy link
Contributor

build commented Oct 10, 2019

Messages
📖

💾 Here's the generated SDK zipfile.

📖

✅ All tests are passing
Nice one! All 4336 tests are passing.
(There are 471 tests skipped)

📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.

Generated by 🚫 dangerJS against 25eb284

@ssaddique
Copy link
Contributor

FR: Failed. Please see attatched PDF of findings:
Findings for TIMOB-27207.pdf

Copy link
Contributor

@vijaysingh-axway vijaysingh-axway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@lokeshchdhry
Copy link
Contributor

lokeshchdhry commented Oct 10, 2019

@ssaddique , For me when I check it on a device less then or grater than ios 13. I can see that objects are getting garbage collected & memory is freed. Make sure wait for a few minutes for the GC to happen sometimes.

@ssaddique
Copy link
Contributor

@lokeshchdhry - I checked on iOS 13 simulator iPhone 11 Pro and I waited 15 minutes and only garbage collects just the one time for me. Maybe I'm doing it wrong, im not sure...

@janvennemann
Copy link
Contributor Author

@lokeshchdhry @ssaddique I've backported the debug function i added to the master PR so you guys can use it here to. Just add the following snippet to the test cases to automatically force a GC after 30s:

setTimeout(() => {
  Ti.App.iOS.garbageCollectForDebugging();
}, 30000);

Let me know once the FR passes so i can remove the debug code from this PR again.

@ssaddique
Copy link
Contributor

@janvennemann - I can confirm that by adding the suggested code snippet, garbage collection works reliably.

Unfortunately, without the code snippet, garbage collection is unreliable. It always carries out GC at least once. Sometimes twice. But it is unreliable and most of the time further GC's do not occur.

@lokeshchdhry lokeshchdhry merged commit dfd5a02 into tidev:8_2_X Oct 14, 2019
@janvennemann
Copy link
Contributor Author

@ssaddique This is by design. JavaScriptCore decides when to schedule a GC as necessary. Sometimes this can occur after a few seconds, sometimes it takes minutes. It depends on several factors internal to JSC so using the debug function is the only way to reliably force it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants