因为是工作项目,暂不方便在互联网上公开,这里详细的说一下细节。
场景
情况是这样子的,主界面下面4个Tab按钮,上面一个Framelayout包含了一个Fragment,这个Fragment又通过ViewPage包含了好几个Fragment
图片可能是这样子的:
上面是一张简图,在首页中有viewpage,viewpage又有Fragment(热门,视频等)
这里的情况是我视频Fragment的时候进行播放视频,当我切换到热门或者是c、d、e这些Fragment的时候,视频Fragment并没有走生命周期方法,比如一些OnDestroy,onResume、onPause这些常用的。
因为视频播放需要用到Fragment的生命周期来进行资源的释放,比如在Fragment不可见的时候,停止视频的播放。
在网上搜索各种资料,在Android Studio中各种生命周期的log日志打印,最后找到了一个比较实用的方法:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
Log.e(TAG, "setUserVisibleHint: "+isVisibleToUser );
super.setUserVisibleHint(isVisibleToUser);
}