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

Pre Flight Checklist Widget Memory Leak #118

Open
jmadrigal47895 opened this issue Mar 17, 2021 · 2 comments
Open

Pre Flight Checklist Widget Memory Leak #118

jmadrigal47895 opened this issue Mar 17, 2021 · 2 comments

Comments

@jmadrigal47895
Copy link

So I found this leak in the preflight checklist as well. This leak seems like an observable is not being released for garbage collection or a context is being passed into an observable which is not allowing it to be collected. Hopefully this helps!

┬───
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ GC Root: Input or output parameters in native code
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ okio.AsyncTimeout class
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: NO (PathClassLoader↓ is not leaking and a class is never leaking)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ static AsyncTimeout.$class$classLoader
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dalvik.system.PathClassLoader instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: NO (LogicEventBus$LazyHolder↓ is not leaking and A ClassLoader is never leaking)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ ClassLoader.runtimeInternalObjects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ java.lang.Object[] array
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: NO (LogicEventBus$LazyHolder↓ is not leaking)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ Object[].[7013]
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.common.bus.LogicEventBus$LazyHolder class
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: NO (a class is never leaking)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ static LogicEventBus$LazyHolder.INSTANCE
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.common.bus.BusFactory$CachingEventBus instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 394 B in 17 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ EventBus.subject
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.subjects.BehaviorSubject instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 20 B in 1 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ Observable.onSubscribe
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.subjects.SubjectSubscriptionManager instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 18.8 kB in 438 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ AtomicReference.value
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.subjects.SubjectSubscriptionManager$State instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 18.8 kB in 436 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ SubjectSubscriptionManager$State.observers
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.subjects.SubjectSubscriptionManager$SubjectObserver[] array
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 18.8 kB in 435 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ SubjectSubscriptionManager$SubjectObserver[].[7]
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.subjects.SubjectSubscriptionManager$SubjectObserver instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 1.5 kB in 31 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ SubjectSubscriptionManager$SubjectObserver.actual
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.internal.operators.OperatorFilter$1 instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 1.5 kB in 30 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Anonymous subclass of dji.thirdparty.rx.Subscriber
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ Subscriber.subscriber
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.internal.operators.OperatorCast$1 instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 1.4 kB in 23 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Anonymous subclass of dji.thirdparty.rx.Subscriber
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ Subscriber.subscriber
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.internal.operators.OperatorOnBackpressureBuffer$BufferSubscriber instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 1.3 kB in 22 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ OperatorOnBackpressureBuffer$BufferSubscriber.child
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 1.2 kB in 16 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ OperatorObserveOn$ObserveOnSubscriber.child
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.observers.SafeSubscriber instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 182 B in 8 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ SafeSubscriber.actual
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.thirdparty.rx.Observable$27 instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 56 B in 2 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Anonymous subclass of dji.thirdparty.rx.Subscriber
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ Observable$27.val$onNext
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.ux.panel.PreFlightCheckListPanel$2 instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: UNKNOWN
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 16 B in 1 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Anonymous class implementing dji.thirdparty.rx.functions.Action1
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ PreFlightCheckListPanel$2.this$0
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ~~~~~~
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: ├─ dji.ux.panel.PreFlightCheckListPanel instance
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Leaking: YES (View.mContext references a destroyed activity)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ Retaining 5.5 MB in 53654 objects
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ View not part of a window view hierarchy
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ View.mAttachInfo is null (view detached)
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ View.mID = R.id.preFlightChecklistPanel
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ View.mWindowAttachCount = 1
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ context instance of tech.fluidity.ftaviator.ui.activity.fly.FlyActivity with mDestroyed = true
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ mContext instance of tech.fluidity.ftaviator.ui.activity.fly.FlyActivity with mDestroyed = true
2021-03-12 13:09:36.312 31147-1334/tech.fluidity.ftaviator D/LeakCanary: │ ↓ SimpleFrameLayoutWidget.context

@dji-dev
Copy link
Contributor

dji-dev commented Mar 18, 2021

Agent comment from Luce Luo in Zendesk ticket #45148:

Dear Customer,

Thank you for contacting DJI.
To help us collect questions in detail, please fill in the form below and we will handle this ticket once we have received it.
https://formcrafts.com/a/dji-developer-feedback-en

Thanks,

Luce Luo
DJI Dev Team

@jmadrigal47895
Copy link
Author

Ok I filled out the form, thanks for the prompt response!

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

No branches or pull requests

2 participants