获取android dumpsys中当前可见片段的信息

Orh*_*but 11 android fragment dumpsys

我正在寻找一个解决方案来确定dumpsys当前可以看到哪些片段

我可以获得有关活动的信息

$ adb shell dumpsys activity | grep -i run
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案片段或如何确定dumpsys中的可见片段?

Juu*_*nen 26

检查文档adb shell dumpsys activity -h.您可以提供<COMP_SPEC>参数adb shell dumpsys activity <COMP_SPEC>.当您提供<COMP_SPEC>参数时,您将获得有关特定组件的更多信息,包括可见的片段和视图.

显示Android设备设置时的示例:

$ adb shell dumpsys activity com.android.settings
Run Code Online (Sandbox Code Playgroud)

在我的设备上,命令输出包含:

...
Active Fragments in 13c3a270:
  #0: DashboardSummary{186a79e9 #0 id=0x7f0e017b}
    mFragmentId=#7f0e017b mContainerId=#7f0e017b mTag=null
    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{13c3a270 in Settings{ef6d7d6}}
    mActivity=com.android.settings.Settings@ef6d7d6
    mContainer=android.widget.FrameLayout{9b1166e V.E..... ........ 0,0-768,1022 #7f0e017b app:id/main_content}
    mView=android.widget.ScrollView{1c50410f VFED.V.. ........ 0,0-768,1022 #7f0e005a app:id/dashboard}
    Child FragmentManager{2298759c in DashboardSummary{186a79e9}}:
      FragmentManager misc state:
        mActivity=com.android.settings.Settings@ef6d7d6
        mContainer=android.app.Fragment$1@167cba5
        mParent=DashboardSummary{186a79e9 #0 id=0x7f0e017b}
        mCurState=5 mStateSaved=false mDestroyed=false
...
Run Code Online (Sandbox Code Playgroud)


ell*_*ic1 5

这将显示您的活动和片段的实时视图:

watch -n 1 "adb shell dumpsys activity top | grep -E 'Fragment|Activity' | head -60"
Run Code Online (Sandbox Code Playgroud)