前回に引き続き今回もdumpsysコマンドについて紹介します。
前回は一部のみ書きましたが、dumpsysのwindow windowsではWindow 1つに対し下記の情報を取得することが出来ます。
=====================================================================
Window #6 Window{b3f3b5c8 u0 SearchPanel}:
mDisplayId=0 mSession=Session{b3fd20e0 750:u0a10007} mClient=android.os.BinderProxy@b40599e0
mOwnerUid=10007 mShowToOwnerOnly=false package=com.android.systemui appop=NONE
mAttrs=WM.LayoutParams{(0,0)(fillxfill) gr=#800053 sim=#31 ty=2024 fl=#820100 fmt=-3 wanim=0x10301f5}
Requested w=800 h=1216 mLayoutSeq=44
mBaseLayer=211000 mSubLayer=0 mAnimLayer=211000+0=211000 mLastLayer=0
mToken=WindowToken{b3f8a6f0 null}
mRootToken=WindowToken{b3f8a6f0 null}
mViewVisibility=0x8 mHaveFrame=true mObscured=false
mSeq=0 mSystemUiVisibility=0x0
mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
mConfiguration=null
mHasSurface=false mShownFrame=[0.0,0.0][0.0,0.0] isReadyForDisplay()=false
mFrame=[0,0][800,1280] last=[0,0][0,0]
mSystemDecorRect=[0,0][0,0] last=[0,0][0,0]
Frames: containing=[0,0][800,1280] parent=[0,0][800,1280]
display=[0,0][800,1280] overscan=[0,0][800,1280]
content=[0,33][800,1216] visible=[0,33][800,1216]
decor=[0,33][800,1216]
Cur insets: overscan=[0,0][0,0] content=[0,33][0,64] visible=[0,33][0,64]
Lst insets: overscan=[0,0][0,0] content=[0,0][0,0] visible=[0,0][0,0]
WindowStateAnimator{b4059388 SearchPanel}:
mShownAlpha=0.0 mAlpha=1.0 mLastAlpha=0.0
===========================================================================
すべてのパラメータについて説明すると非常に長くなってしまうので、前回同様よく見るパラメータについて紹介します。
・mDisplayId
Windowが現在どのDisplayに表示されているかを示す値です。
外部ディスプレイ等を使用する際に見ることになります。
・package
Windowを作成したアプリのパッケージ名を示す値です。
・mBaseLayer、mSubLayer、mAnimLayer
Windowを表示するレイヤーを示す値です。
値が高いほどz orderが高くなります。
・mSystemUiVisibility
SystemUiの表示状態を示す値です。
Windowに関連するデバッグを行う際は上記のようなdumpsysの情報を使用すると効率よく作業を行うことが出来るので是非利用してみてください。