Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Use Markdown for this comment
Set severity, which reflects how much the issue affects the use of the product
Change issue status back to 'Assigned'
Pending code changes (auto-populated)
[ID: 84651]
Story points rate the relative effort of work in a Fibonacci-like format: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100. Each team will estimate work on a slightly different scale, which means the values in this field are likely only meaningful to the team that owns the Buganizer component in which the issue resides.
See Atlassian's Agile Coach for more information on how to use story points for estimation: https://www.atlassian.com/agile/project-management/estimation [ID: 746686]
Set the version(s) of the product affected by this issue (comma-separated list)
Set the version(s) of the product in which the issue should be fixed (comma-separated list)
Set the version(s) of the product in which the issue fix was verified (comma-separated list)
Set if this issue occurs in production
[ID: 85206]
Set Reporter
Set Type
Set priority, which reflects how soon the issue should be fixed
Set Status
Set Assignee
Set Verifier
Remove item
View or edit staffing
View issue level access limits(Press Alt + Right arrow for more information)
Description
#1The
MainActivity
gets leaked after the second time the orientation changes, but only after navigating to a new destination using thenavHostController
.A working project where this can be reproduced is available here .
These are the reproduction steps:
FooScreen
, that only contains aTopAppBar
and aButton
).Button
(it will load theBarScreen
, that only contains aTopAppBar
)At this point you should see
StrictMode
complaining about the leak inside the logcat:The LeakCanary notification should also be visible . This is the LeakCanary log:
Things I have noticed:
adb shell am start -d "template://bar" -a android.intent.action.VIEW
)I've also tried to use the Android Studio Profiled to investigate the leak, but I wasn't really successful. Here some screenshots:
This is the overview of the modules of the repro project: enter image description here
In short, the App only has the single Activity with no logic beside setting up the nav host. The navigation logic is inside the
core-navigation
. Each feature module provides UI and business logic. Currently there are 3 features with 1 screen each: Foo, Bar and Debug. Foo screen has only one button that leads to Bar screen. The leak happens inside Bar screen, if you rotate the device twice. It does not happen if you access Bar via Deeplink.