┬───
│ GC Root: Global variable in native code
│
├─ android.database.ContentObserver$Transport instance
│ Leaking: NO (UniLandscapePageActivity↓ is not leaking)
│ ↓ ContentObserver$Transport.mContentObserver
├─ a2.d$b instance
│ Leaking: NO (UniLandscapePageActivity↓ is not leaking)
│ ↓ d$b.a
├─ a2.d instance
│ Leaking: NO (UniLandscapePageActivity↓ is not leaking)
│ b instance of io.dcloud.uniapp.appframe.activity.UniLandscapePageActivity with mDestroyed = false
│ ↓ d.b
├─ io.dcloud.uniapp.appframe.activity.UniLandscapePageActivity instance
│ Leaking: NO (Activity#mDestroyed is false)
│ mApplication instance of io.dcloud.uniapp.UniApplication
│ mEmbeddedApplication instance of io.dcloud.uniapp.UniApplication
│ mBase instance of androidx.appcompat.view.ContextThemeWrapper
│ ↓ UniPageActivity.page
│ ~~~~
├─ io.dcloud.uniapp.appframe.a instance
│ Leaking: UNKNOWN
│ Retaining 4.0 kB in 117 objects
│ C instance of io.dcloud.uniapp.appframe.activity.UniLandscapePageActivity with mDestroyed = false
│ ↓ a.p
│ ~
├─ io.dcloud.uniapp.dom.UniNativeDocumentImpl instance
│ Leaking: UNKNOWN
│ Retaining 1.1 MB in 26874 objects
│ ↓ UniNativeDocumentImpl.calculatedCallback
│ ~~~~~~
├─ io.dcloud.uniapp.framework.IndexKt$$ExternalSyntheticLambda48 instance
│ Leaking: UNKNOWN
│ Retaining 1.1 MB in 26292 objects
│ ↓ IndexKt$$ExternalSyntheticLambda48.f$0
│ ~~~
├─ io.dcloud.uniapp.framework.extapi.IndexKt$$ExternalSyntheticLambda33 instance
│ Leaking: UNKNOWN
│ Retaining 1.1 MB in 26291 objects
│ ↓ IndexKt$$ExternalSyntheticLambda33.f$0
│ ~~~
├─ uni.UNI670A4AA.GenPagesLoginLogin instance
│ Leaking: UNKNOWN
│ Retaining 1.1 MB in 26290 objects
│ ↓ VueComponent.$_
│ ~~
├─ io.dcloud.uniapp.vue.ComponentInternalInstance instance
│ Leaking: UNKNOWN
│ Retaining 883.7 kB in 22341 objects
│ ↓ ComponentInternalInstance.document
│ ~~~~
├─ io.dcloud.uniapp.dom.UniNativeDocumentImpl instance
│ Leaking: UNKNOWN
│ Retaining 131.4 kB in 2611 objects
│ ↓ UniNativeDocumentImpl.calculatedCallback
│ ~~~~~~
├─ io.dcloud.uniapp.framework.IndexKt$$ExternalSyntheticLambda48 instance
│ Leaking: UNKNOWN
│ Retaining 129.9 kB in 2598 objects
│ ↓ IndexKt$$ExternalSyntheticLambda48.f$0
│ ~~~
├─ io.dcloud.uniapp.framework.extapi.IndexKt$$ExternalSyntheticLambda33 instance
│ Leaking: UNKNOWN
│ Retaining 129.9 kB in 2597 objects
│ ↓ IndexKt$$ExternalSyntheticLambda33.f$0
│ ~~~
├─ uni.UNI670A4AA.GenPagesSplashSplash instance
│ Leaking: UNKNOWN
│ Retaining 129.9 kB in 2596 objects
│ ↓ Page.$nativePage
│ ~~~
├─ io.dcloud.uniapp.appframe.a instance
│ Leaking: UNKNOWN
│ Retaining 900 B in 27 objects
│ ↓ a.O
│ ~
├─ io.dcloud.uniapp.appframe.ui.PageFrameView instance
│ Leaking: YES (View.mContext references a destroyed activity)
│ Retaining 17.2 kB in 195 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mID = R.id.null
│ View.mWindowAttachCount = 1
│ mContext instance of io.dcloud.uniapp.UniAppActivity with mDestroyed = true
│ ↓ View.mContext
╰→ io.dcloud.uniapp.UniAppActivity instance
Leaking: YES (ObjectWatcher was watching this because io.dcloud.uniapp.UniAppActivity received Activity#onDestroy() callback and Activity#mDestroyed is true)
Retaining 50.1 kB in 940 objects
key = df8f9d6d-1436-467c-b26d-86840f42e082
watchDurationMillis = 14314
retainedDurationMillis = 9313
mApplication instance of io.dcloud.uniapp.UniApplication
mEmbeddedApplication instance of io.dcloud.uniapp.UniApplication
mBase instance of androidx.appcompat.view.ContextThemeWrapper
3***@qq.com
- 发布:2026-01-10 10:47
- 更新:2026-01-10 10:48
- 阅读:112
1 个回复
Ask小助手 - Ask社区AI助手
根据您提供的内存泄漏分析报告,这是典型的Android Activity泄漏场景,虽然您提到"没有发现全局变量引用页面元素",但泄漏路径显示:
PageFrameView.mContext → UniAppActivity(已销毁)根本原因是:页面View持有已销毁Activity的引用。在uniapp框架中,当页面切换时:
UniLandscapePageActivity未完全销毁PageFrameView作为UI组件仍持有旧Activity的ContextUniNativeDocumentImpl.calculatedCallback)持续引用页面组件这属于uniapp框架常见的页面栈管理问题,尤其在快速页面切换场景下容易触发。解决方案:
reLaunch频繁重定向,改用navigateTo+navigateBack规范页面栈onUnload中手动解绑事件监听器uni_modules中插件是否持有Activity引用,特别是uts插件需确保dispose()方法正确释放资源建议通过LeakCanary官方文档集成检测,或参考uniapp性能优化指南排查。若问题持续,可在uni-app插件市场搜索"内存优化"相关插件。
要回复问题请先登录或注册
公告
更多>相关问题