首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么"dumpsys top“在其输出中列出了"fragment”,而我没有使用fragment?

为什么"dumpsys top“在其输出中列出了"fragment”,而我没有使用fragment?
EN

Stack Overflow用户
提问于 2020-03-26 11:38:23
回答 1查看 266关注 0票数 0

SecondActivity只有简单的布局,在它的onCreate()方法中被设置为ContentView

代码语言:javascript
复制
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
}

activity_second.xml是:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SecondActivity" />

但是当我使用dumpsys转储顶级活动时,它在输出中列出了一个未知的Fragment ("ReportFragment"):

代码语言:javascript
复制
$ adb shell dumpsys activity top
TASK xxx.lifecycleapplication id=4
  ACTIVITY xxx.lifecycleapplication/.SecondActivity 538274ac pid=1519
    Local Activity 5368915c State:
      mResumed=true mStopped=false mFinished=false
      mLoadersStarted=true
      mChangingConfigurations=false
      mCurrentConfig={1.0 310mcc270mnc en_US sw384dp w384dp h567dp nrml port finger qwerty/v/v dpad/v s.5}
    Active Fragments in 536891f0:
      #0: ReportFragment{5369f99c #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
        mFragmentId=#0 mContainerId=#0 mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag
        mState=5 mIndex=0 mWho=android:fragment:0 mBackStackNesting=0
        mAdded=true mRemoving=false mResumed=true mFromLayout=false mInLayout=false
        mHidden=false mDetached=false mMenuVisible=true mHasMenu=false
        mRetainInstance=false mRetaining=false mUserVisibleHint=true
        mFragmentManager=FragmentManager{536891f0 in SecondActivity{5368915c}}
        mActivity=xxx.lifecycleapplication.SecondActivity@5368915c
    Added Fragments:
      #0: ReportFragment{5369f99c #0 androidx.lifecycle.LifecycleDispatcher.report_fragment_tag}
    FragmentManager misc state:
      mCurState=5 mStateSaved=false mDestroyed=false
    Local FragmentActivity 5368915c State:
      mCreated=true mResumed=true mStopped=false    FragmentManager misc state:
      mHost=androidx.fragment.app.FragmentActivity$HostCallbacks@5368b814
      mContainer=androidx.fragment.app.FragmentActivity$HostCallbacks@5368b814
      mCurState=4 mStateSaved=false mStopped=false mDestroyed=false

为什么输出显示“活动片段”和“添加片段”中的ReportFragment,而我没有使用任何Fragment

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 12:14:17

这一行就是线索:

代码语言:javascript
复制
mTag=androidx.lifecycle.LifecycleDispatcher.report_fragment_tag

ReportFragmentlifecycle-processProcessLifecycleOwner用来跟踪您的应用程序是否有任何启动活动的实现细节。在API29之前,它使用一个框架片段来跟踪所有活动(无论它们是AppCompatActivity还是常规的Activity子类)。

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

https://stackoverflow.com/questions/60860697

复制
相关文章

相似问题

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