Unity调用图片获取SDK后黑屏(切后台返回后黑屏)

问题:返回Unity原来的App中会黑屏一会儿

在这是使用的版本为Unity2019.4.39 ,调用TakePhoto,对图片进行裁剪以及上传保存。

开始接手这个优化时一脸懵逼。后面经过大量的查阅资料,发现是调用Android的Sdk时,UnityPlayerActivity调用onstop,。具体可看下方的生命周期图。

在这里插入图片描述

分析:
在Unity没有其他Activity的时候, 打印了如下的一些log

启动App
MainActivity: onCreate
MainActivity: onStart
MainActivity: onResume
MainActivity: onWindowFocusChanged trueHome进入后台
MainActivity: onPause
MainActivity: onWindowFocusChanged false
MainActivity: onStop

从后台返回Unity
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
MainActivity: onWindowFocusChanged true

退出应用
MainActivity: onWindowFocusChanged false
MainActivity: onPause
MainActivity: onStop
MainActivity: onDestroy

当在Unity的Activity有其他的Acivity时,UnityPlayerActivity的生命周期

弹窗显示另外一个Activity
MainActivity: onPause
MainActivity: onWindowFocusChanged falseHome进入后台
MainActivity: onStop

从后台回来
MainActivity: onRestart
MainActivity: onStart

关闭 弹窗Activity
MainActivity: onResume
MainActivity: onWindowFocusChanged true

通过对比这两次的打印log,可以看出;在返回游戏界面的时候,UnityPlayerActivity没立马调用onResume()和onWindowFocusChanged(true)

MainActivity: onResume
MainActivity: onWindowFocusChanged true

我想到的第一次解决方法是,手动加调用onResume,onWindowFocusChanged这两个函数,但是这样做的弊端是会打断原来是生命周期。
目前菜菜的我只能使用这样的方法。
看了许多资料,说是让游戏中自己去处理,没有找到的好的解决方案,如何后期解决了,会再来进行更新。

猜你喜欢

转载自blog.csdn.net/lml_w/article/details/129563691