onWindowFocusChanged

本文探讨了在Activity生命周期中onWindowFocusChanged方法的行为特点。该方法会在Activity获得焦点时被调用,但在某些情况下可能会被执行多次,文章将对此现象进行深入分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当整个activity执行完毕的时候,onWindowFocusChanged会被执行,今天最项目的时候,发现onWindowFocusChanged方法会被执行两次,这个有点不解?
07-21 20:07:15.157 5376 5376 D SourceMng_Manager_20200401: SrcMngAudioSwitchManager abandonAdayoAudioFocus() sourceType = ADAYO_SOURCE_MEDIA id = com.adayo.proxy.infrastructure.sourcemng.Control.SrcMngAudioSwitchManager@f592723com.adayo.medialibrary.util.DeviceServiceProxy$2@af48420 行 339179: 07-21 20:07:15.158 5376 5376 D SourceMng_Manager_20200401: SrcMngAudioSwitchManager abandonAdayoAudioFocus() end abandonRlt = 1 行 339181: 07-21 20:07:15.159 5376 5376 D MediaLibrary<2507201054> VideoPlaybackService: (VideoPlaybackService.java:35)#SetVideoPlaying pre-> [VideoPreviewActivity.java:406#onPause] info->: setVideoPlaying isPlaying false 行 339183: 07-21 20:07:15.159 5376 5376 I am_on_paused_called: [0,com.adayo.medialibrary.ui.VideoPreviewActivity,performPause] 行 339301: 07-21 20:07:15.187 5376 5376 I Adayo-Mvvm-BaseActivity: com.haibing.mvvm.bases.ui.BaseActivity==>onWindowFocusChanged(BaseActivity.java:125): class com.adayo.medialibrary.ui.VideoPreviewActivity==>onWindowFocusChanged hasFocus = false 行 339302: 07-21 20:07:15.188 5376 5376 D MediaLibrary<2507201054> VideoPreviewActivity: (VideoPreviewActivity.java:1580)#OnWindowFocusChanged pre-> [WindowCallbackWrapper.java:125#onWindowFocusChanged] info->: onWindowFocusChanged: hasFocus false 行 342275: 07-21 20:07:17.379 5376 5376 D IJKMEDIA: IjkMediaPlayer_setVideoSurface 行 342276: 07-21 20:07:17.379 5376 5376 D IJKMEDIA: ijkmp_set_android_surface(surface=0x0) 行 342277: 07-21 20:07:17.379 5376 5376 D IJKMEDIA: ffpipeline_set_surface() 行 342278: 07-21 20:07:17.379 5376 5376 D IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void 行 342311: 07-21 20:07:17.421 5376 5376 D ConnectivityManager: StackLog: [android.net.ConnectivityManager.unregisterNetworkCallback(ConnectivityManager.java:4029)] [com.bumptech.glide.manager.SingletonConnectivityReceiver$FrameworkConnectivityMonitorPostApi24.unregister(SingletonConnectivityReceiver.java:205)] [com.bumptech.glide.manager.SingletonConnectivityReceiver.maybeUnregisterReceiver(SingletonConnectivityReceiver.java:122)] [com.bumptech.glide.manager.SingletonConnectivityReceiver.unregister(SingletonConnectivityReceiver.java:105)] [com.bumptech.glide.manager.DefaultConnectivityMonitor.unregister(DefaultConnectivityMonitor.java:29)] [com.bumptech.glide.manager.DefaultConnectivityMonitor.onStop(DefaultConnectivityMonitor.java:39)] [com.bumptech.glide.manager.LifecycleLifecycle.onStop(LifecycleLifecycle.java:35)] [java.lang.reflect.Method.invoke(Native Method)] [androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:225)] [androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:199)] [androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:190)] [androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:40)] [androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)] [androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.java:290)] [androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:308)] [androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)] [androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)] [androidx.lifecycle.ReportFragment.dispatch(ReportFragment.java:68)] [androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreStopped(ReportFragment.java:210)] [android.app.Activity.dispatchActivityPreStopped(Activity.java:1328)] [android.app.Activity.performStop(Activity.java:8033)] [android.app.ActivityThread.callActivity ... 行 342322: 07-21 20:07:17.424 5376 5376 I Adayo-Mvvm-BaseActivity: com.haibing.mvvm.bases.ui.BaseActivity==>onStop(BaseActivity.java:98): class com.adayo.medialibrary.ui.VideoPreviewActivity==>onStop 行 342323: 07-21 20:07:17.424 5376 5376 I am_on_stop_called: [0,com.adayo.medialibrary.ui.VideoPreviewActivity,STOP_ACTIVITY_ITEM] 行 342324: 07-21 20:07:17.424 5376 5376 D MediaLibrary<2507201054> VideoPreviewActivity: (VideoPreviewActivity.java:746)#OnSaveInstanceState pre-> [Activity.java:2048#performSaveInstanceState] info->: onSaveInstanceState() 行 342325: 07-21 20:07:17.424 5376 5376 D MediaLibrary<2507201054> VideoPreviewActivity.java: (VideoPreviewActivity.java:1548)#SaveLastPlayPosition pre-> [VideoPreviewActivity.java:753#onSaveInstanceState] info->: saveLastPlayPosition sCurrentVideoPath /storage/8C3C-7AC3/视频符号名称/MP4/那些你很冒险的梦-art--林俊杰--art-4ddd1cebd2065ed97b08c8bb84036768.mp4, sCurrentSeekPosition 67303 行 342326: 07-21 20:07:17.425 5376 5376 I MediaLibrary<2507201054> VideoPreviewActivity: (VideoPreviewActivity.java:755)#OnSaveInstanceState pre-> [Activity.java:2048#performSaveInstanceState] info->: onSaveInstanceState mCurrentPosition:9 sCurrentSeekPosition:67303 行 342329: 07-21 20:07:17.426 5376 5376 I MediaLibrary<2507201054> VideoPreviewActivity: (VideoPreviewActivity.java:756)#OnSaveInstanceState pre-> [Activity.java:2048#performSaveInstanceState] info->: onSaveInstanceState: playState = 5 行 344098: 07-21 20:07:18.971 5376 5376 I Adayo-Mvvm-BaseActivity: com.haibing.mvvm.bases.ui.BaseActivity==>onRestart(BaseActivity.java:79): class com.adayo.medialibrary.ui.VideoPreviewActivity==>onRestart 行 344099: 07-21 20:07:18.971 5376 5376 I am_on_restart_called: [0,com.adayo.medialibrary.ui.VideoPreviewActivity,performRestartActivity] 行 344107: 07-21 20:07:18.992 5376 5376 I Adayo-Mvvm-BaseActivity: com.haibing.mvvm.bases.ui.BaseActivity==>onStart(BaseActivity.java:73): class com.adayo.medialibrary.ui.VideoPreviewActivity==>onStart 行 344108: 07-21 20:07:18.992 5376 5376 I am_on_start_called: [0,com.adayo.medialibrary.ui.VideoPreviewActivity,handleStartActivity]
最新发布
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值