NativeScript / NativeScript/napi-android

Debug and fix memory leaks

Open
#20 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
33
Forks
3
PR merge metrics
No merged PRs in 30d

Description

New runtimes work differently and are not well tested yet for memory leaks. We are working on fixing issues anything we find.

  • When a java object is finally freed in Java, we notify the JS side to free the JS counterpart. At this time, the Java object is held weakly in Java too using a WeakReference. While the Java object is weakly held, the WeakReference is strongly kept in a HashMap never getting removed. In this PR we release the WeakReferences too on GC event ensuring that all memory is reclaimed. Fixed in https://github.com/NativeScript/napi-android/commit/5e48302fc0eeab63eae6935e864de36d25100e2c
  • Investigate Java Interface Implementation leaking on JS Side

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named in the issue. Start by reviewing the referenced commit, then investigate the remaining Java Interface Implementation leak on the JS side; done means the listed leak is fixed and memory is reclaimed.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, cpp, java, javascript
Domain
mobile-dev, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.