You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In your demo, both the SurfaceModeRtmpActivity and TextureModeRtmpActivity use RtmpCamera2. Additionally, I have attempted to use RtmpCamera2 in both RtmpActivity and OpenGLRtmpActivity. Upon entering the Activity, without recording any video or live streaming, and then directly exiting the Activity, a memory leak error is triggered.
By adding debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10' to your project, you can observe the log details of the memory leak issue.
====================================
HEAP ANALYSIS RESULT
====================================
1 APPLICATION LEAKS
References underlined with "~~~" are likely causes.
Learn more at https://squ.re/leaks.
129007 bytes retained by leaking objects
Signature: e4e8f6bdef6a4ff99124d3675fd6288d0680281b
┬───
│ GC Root: System class
│
├─ android.hardware.devicestate.DeviceStateManagerGlobal class
│ Leaking: NO (a class is never leaking)
│ ↓ static DeviceStateManagerGlobal.sInstance
│ ~~~~~~~~~
├─ android.hardware.devicestate.DeviceStateManagerGlobal instance
│ Leaking: UNKNOWN
│ Retaining 299.2 kB in 5002 objects
│ ↓ DeviceStateManagerGlobal.mCallbacks
│ ~~~~~~~~~~
├─ java.util.ArrayList instance
│ Leaking: UNKNOWN
│ Retaining 298.1 kB in 4995 objects
│ ↓ ArrayList[1]
│ ~~~
├─ android.hardware.devicestate.DeviceStateManagerGlobal$DeviceStateCallbackWrapper instance
│ Leaking: UNKNOWN
│ Retaining 129.3 kB in 2399 objects
│ ↓ DeviceStateManagerGlobal$DeviceStateCallbackWrapper.mDeviceStateCallback
│ ~~~~~~~~~~~~~~~~~~~~
├─ android.hardware.camera2.CameraManager$FoldStateListener instance
│ Leaking: UNKNOWN
│ Retaining 129.3 kB in 2396 objects
│ ↓ CameraManager$FoldStateListener.this$0
│ ~~~~~~
├─ android.hardware.camera2.CameraManager instance
│ Leaking: UNKNOWN
│ Retaining 129.2 kB in 2394 objects
│ mContext instance of android.app.ContextImpl
│ ↓ CameraManager.mContext
│ ~~~~~~~~
├─ android.app.ContextImpl instance
│ Leaking: YES (ContextImpl.mOuterContext is an instance of com.pedro.streamer.texturemodeexample.
│ TextureModeRtmpActivity with Activity.mDestroyed true)
│ Retaining 129.0 kB in 2385 objects
│ mOuterContext instance of com.pedro.streamer.texturemodeexample.TextureModeRtmpActivity with mDestroyed = true
│ ↓ ContextImpl.mOuterContext
╰→ com.pedro.streamer.texturemodeexample.TextureModeRtmpActivity instance
Leaking: YES (ObjectWatcher was watching this because com.pedro.streamer.texturemodeexample.
TextureModeRtmpActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)
Retaining 120.1 kB in 2261 objects
key = 1236661e-c83f-45b7-b2c6-d50cd4a8c857
watchDurationMillis = 9215
retainedDurationMillis = 4214
mApplication instance of com.pedro.streamer.App
mBase instance of androidx.appcompat.view.ContextThemeWrapper
====================================
0 LIBRARY LEAKS
A Library Leak is a leak caused by a known bug in 3rd party code that you do not have control over.
See https://square.github.io/leakcanary/fundamentals-how-leakcanary-works/#4-categorizing-leaks
====================================
0 UNREACHABLE OBJECTS
An unreachable object is still in memory but LeakCanary could not find a strong reference path
from GC roots.
====================================
METADATA
Please include this in bug reports and Stack Overflow questions.
Build.VERSION.SDK_INT: 33
Build.MANUFACTURER: HONOR
LeakCanary version: 2.10
App process name: com.pedro.streamer
Class count: 25429
Instance count: 194309
Primitive array count: 140083
Object array count: 24172
Thread count: 26
Heap total bytes: 26790552
Bitmap count: 5
Bitmap total bytes: 220689
Large bitmap count: 0
Large bitmap total bytes: 0
Stats: LruCache[maxSize=3000,hits=115400,misses=183421,hitRate=38%]
RandomAccess[bytes=9483492,reads=183421,travel=94305186323,range=32358887,size=40298187]
Heap dump reason: user request
Analysis duration: 5339 ms
Heap dump file path: /storage/emulated/0/Download/leakcanary-com.pedro.streamer/2024-01-16_16-05-54_504.hprof
Heap dump timestamp: 1705392362805
Heap dump duration: 1842 ms
The text was updated successfully, but these errors were encountered:
====================================
HEAP ANALYSIS RESULT
====================================
1 APPLICATION LEAKS
The text was updated successfully, but these errors were encountered: