首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Toast.mNextView和FrameLayout可能的泄漏-如何追踪原因?

Toast.mNextView和FrameLayout可能的泄漏-如何追踪原因?
EN

Stack Overflow用户
提问于 2021-04-02 04:52:59
回答 1查看 129关注 0票数 0

我的应用程序中有一个漏洞,我不确定它是从哪里来的。我正在使用泄漏金丝雀来追踪泄漏,但仍然无法确定确切的原因。

任何新的建议,如何处理这个问题,将不胜感激!

这是来自leak的泄漏:

代码语言:javascript
运行
复制
┬───
│ GC Root: Global variable in native code
│
├─ android.database.ContentObserver$Transport instance
│    Leaking: UNKNOWN
│    Retaining 85 B in 4 objects
│    ↓ ContentObserver$Transport.mContentObserver
│                                ~~~~~~~~~~~~~~~~
├─ io.flutter.view.AccessibilityBridge$3 instance
│    Leaking: UNKNOWN
│    Retaining 57 B in 3 objects
│    Anonymous subclass of android.database.ContentObserver
│    ↓ AccessibilityBridge$3.this$0
│                            ~~~~~~
├─ io.flutter.view.AccessibilityBridge instance
│    Leaking: UNKNOWN
│    Retaining 626 B in 16 objects
│    ↓ AccessibilityBridge.accessibilityChannel
│                          ~~~~~~~~~~~~~~~~~~~~
├─ io.flutter.embedding.engine.systemchannels.AccessibilityChannel instance
│    Leaking: UNKNOWN
│    Retaining 24 B in 1 objects
│    ↓ AccessibilityChannel.flutterJNI
│                           ~~~~~~~~~~
├─ io.flutter.embedding.engine.FlutterJNI instance
│    Leaking: UNKNOWN
│    Retaining 144 B in 10 objects
│    ↓ FlutterJNI.platformMessageHandler
│                 ~~~~~~~~~~~~~~~~~~~~~~
├─ io.flutter.embedding.engine.dart.DartMessenger instance
│    Leaking: UNKNOWN
│    Retaining 8.0 kB in 113 objects
│    ↓ DartMessenger.messageHandlers
│                    ~~~~~~~~~~~~~~~
├─ java.util.HashMap instance
│    Leaking: UNKNOWN
│    Retaining 7.9 kB in 110 objects
│    ↓ HashMap.table
│              ~~~~~
├─ java.util.HashMap$Node[] array
│    Leaking: UNKNOWN
│    Retaining 7.8 kB in 109 objects
│    ↓ HashMap$Node[].[7]
│                     ~~~
├─ java.util.HashMap$Node instance
│    Leaking: UNKNOWN
│    Retaining 6.8 kB in 67 objects
│    ↓ HashMap$Node.next
│                   ~~~~
├─ java.util.HashMap$Node instance
│    Leaking: UNKNOWN
│    Retaining 6.8 kB in 65 objects
│    ↓ HashMap$Node.value
│                   ~~~~~
├─ io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler instance
│    Leaking: UNKNOWN
│    Retaining 6.7 kB in 62 objects
│    ↓ MethodChannel$IncomingMethodCallHandler.handler
│                                              ~~~~~~~
├─ io.github.ponnamkarthik.toast.fluttertoast.MethodCallHandlerImpl instance
│    Leaking: UNKNOWN
│    Retaining 6.7 kB in 61 objects
│    context instance of com.example.app.Application
│    ↓ MethodCallHandlerImpl.mToast
│                            ~~~~~~
├─ android.widget.Toast instance
│    Leaking: YES (This toast is done showing (Toast.mTN.mWM != null && Toast.
│    mTN.mView == null))
│    Retaining 6.7 kB in 60 objects
│    mContext instance of com.example.app.Application
│    ↓ Toast.mNextView
╰→ android.widget.FrameLayout instance
​     Leaking: YES (ObjectWatcher was watching this because android.widget.
​     FrameLayout received View#onDetachedFromWindow() callback)
​     Retaining 6.3 kB in 54 objects
​     key = f2d26abf-ece1-4929-b7bd-bb66cd4a300b
​     watchDurationMillis = 68439
​     retainedDurationMillis = 63437
​     View not part of a window view hierarchy
​     View.mAttachInfo is null (view detached)
​     View.mWindowAttachCount = 1
​     mContext instance of com.example.app.Application

导致泄漏的事件链似乎开始于两个不同的进程,但泄漏金丝雀总是在Toast和FrameLayout中检测到相同的泄漏。

EN

回答 1

Stack Overflow用户

发布于 2021-04-10 02:54:47

这个toast泄漏是由ponnamkarthik/FlutterToast中的MethodCallHandlerImpl.mToast引起的。

我在这里提交了一个问题:https://github.com/ponnamkarthik/FlutterToast/issues/292

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66911405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档