Skip to content
This repository has been archived by the owner on Oct 18, 2024. It is now read-only.

[Bug]: Leak #1562

Closed
2 tasks done
abodinagdat16 opened this issue Dec 17, 2023 · 2 comments
Closed
2 tasks done

[Bug]: Leak #1562

abodinagdat16 opened this issue Dec 17, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@abodinagdat16
Copy link

What happened?

When writing on Editor

What's the expected behavior?

idk

What version of AndroidIDE you're using?

v2.6.0 (debug builds)

Relevant log output

┬───
│ GC Root: System class
│
├─ android.provider.FontsContract class
│    Leaking: NO (IDEApplication↓ is not leaking and a class is never leaking)
│    ↓ static FontsContract.sContext
├─ com.itsaky.androidide.app.IDEApplication instance
│    Leaking: NO (Application is a singleton)
│    mBase instance of android.app.ContextImpl
│    ↓ Application.mLoadedApk
│                  ~~~~~~~~~~
├─ android.app.LoadedApk instance
│    Leaking: UNKNOWN
│    Retaining 22.4 kB in 125 objects
│    mApplication instance of com.itsaky.androidide.app.IDEApplication
│    Receivers
│    ..IDEApplication@316690320
│    ....VisibilityTracker@491597664
│    ..EditorActivityKt@315332384
│    ....ViewFlipper$1@341946688
│    ....ViewFlipper$1@319237736
│    ....ViewFlipper$1@341963544
│    ....ViewFlipper$1@342045168
│    ....ViewFlipper$1@332779400
│    ....ViewFlipper$1@341983768
│    ....ViewFlipper$1@342405096
│    ....ViewFlipper$1@319192880
│    ....ViewFlipper$1@342366224
│    ....ViewFlipper$1@342385656
│    ....ViewFlipper$1@342064632
│    ....ViewFlipper$1@319128384
│    ....ViewFlipper$1@332826840
│    ....ViewFlipper$1@332850416
│    ....ViewFlipper$1@342003208
│    ....ViewFlipper$1@319127912
│    ....ViewFlipper$1@332764672
│    ....ViewFlipper$1@342084072
│    ....ViewFlipper$1@342025088
│    ↓ LoadedApk.mServices
│                ~~~~~~~~~
├─ android.util.ArrayMap instance
│    Leaking: UNKNOWN
│    Retaining 958 B in 18 objects
│    ↓ ArrayMap.mArray
│               ~~~~~~
├─ java.lang.Object[] array
│    Leaking: UNKNOWN
│    Retaining 917 B in 16 objects
│    ↓ Object[0]
│            ~~~
├─ com.itsaky.androidide.activities.editor.EditorActivityKt instance
│    Leaking: YES (Activity#mDestroyed is true)
│    Retaining 2.3 MB in 23934 objects
│    mApplication instance of com.itsaky.androidide.app.IDEApplication
│    mBase instance of androidx.appcompat.view.ContextThemeWrapper
│    ↓ BaseEditorActivity.binding
├─ com.itsaky.androidide.databinding.ActivityEditorBinding instance
│    Leaking: YES (EditorActivityKt↑ is leaking)
│    Retaining 37.5 kB in 903 objects
│    ↓ ActivityEditorBinding.bottomSheet
├─ com.itsaky.androidide.ui.EditorBottomSheet instance
│    Leaking: YES (EditorActivityKt↑ is leaking and View.mContext references a
│    destroyed activity)
│    Retaining 2.1 MB in 19688 objects
│    View is part of a window view hierarchy
│    View.mAttachInfo is null (view detached)
│    View.mID = R.id.bottom_sheet
│    View.mWindowAttachCount = 1
│    mContext instance of com.itsaky.androidide.activities.editor.
│    EditorActivityKt with mDestroyed = true
│    ↓ EditorBottomSheet.pagerAdapter
├─ com.itsaky.androidide.adapters.EditorBottomSheetTabAdapter instance
│    Leaking: YES (EditorBottomSheet↑ is leaking)
│    Retaining 1.0 kB in 30 objects
│    ↓ FragmentStateAdapter.mFragments
├─ androidx.collection.LongSparseArray instance
│    Leaking: YES (EditorBottomSheet↑ is leaking)
│    Retaining 189 B in 3 objects
│    ↓ LongSparseArray.values
├─ java.lang.Object[] array
│    Leaking: YES (EditorBottomSheet↑ is leaking)
│    Retaining 56 B in 1 objects
│    ↓ Object[1]
├─ com.itsaky.androidide.fragments.output.AppLogFragment instance
│    Leaking: YES (EditorBottomSheet↑ is leaking and Fragment#mFragmentManager
│    is null)
│    Retaining 22.1 kB in 122 objects
│    ↓ EmptyStateFragment.emptyStateViewModel$delegate
├─ androidx.lifecycle.ViewModelLazy instance
│    Leaking: YES (AppLogFragment↑ is leaking)
│    Retaining 703 B in 28 objects
│    ↓ ViewModelLazy.cached
╰→ com.itsaky.androidide.viewmodel.EmptyStateFragmentViewModel instance
     Leaking: YES (ObjectWatcher was watching this because com.itsaky.
     androidide.viewmodel.EmptyStateFragmentViewModel received
     ViewModel#onCleared() callback)
     Retaining 591 B in 22 objects
     key = 019c22a2-43b0-4a63-926e-0eab4e5c1830
     watchDurationMillis = 35028
     retainedDurationMillis = 30021

METADATA

Build.VERSION.SDK_INT: 30
Build.MANUFACTURER: samsung
LeakCanary version: 2.12
App process name: com.itsaky.androidide
Class count: 39253
Instance count: 1903343
Primitive array count: 746465
Object array count: 137301
Thread count: 63
Heap total bytes: 161884835
Bitmap count: 14
Bitmap total bytes: 362158
Large bitmap count: 0
Large bitmap total bytes: 0
Db 1: open /data/user/0/com.itsaky.androidide/no_backup/androidx.work.workdb
Stats: LruCache[maxSize=3000,hits=683974,misses=1553931,hitRate=30%]
RandomAccess[bytes=78090120,reads=1553931,travel=1081285415470,range=151877168,s
ize=219621404]
Analysis duration: 548701 ms

Duplicate issues

  • This issue has not been reported yet.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@abodinagdat16 abodinagdat16 added the bug Something isn't working label Dec 17, 2023
@gituser1000001
Copy link

Wow, LeakCanary shows every nook and cranny where it leaks. Now I have high hope for #1279 to get completely resolved.

@itsaky
Copy link
Member

itsaky commented Dec 17, 2023

Wow, LeakCanary shows every nook and cranny where it leaks. Now I have high hope for #1279 to get completely resolved.

LeakCanary only watches and reports memory leaks about acitivities, fragments, views, view models and services. However, we still have Android Studio profiler and StrictMode to find and debug other memory leaks.

@itsaky itsaky closed this as completed in 9ae7600 Dec 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants