我在Android应用程序中发现了非常奇怪的bug,当时我在Android设备中安装了一个给定流量的应用程序。
从playstore安装了应用程序(旧版本)。
启动应用程序(现在我在HomeScreen,.i.e.,HomeActivity中)。
现在,我通过安装最新版本来升级这个应用程序(正在生产中,还没有发布到playstore)。
点击启动图标,等待主屏幕变得可见,并保持应用程序在后台按菜单按钮。
现在,通过单击launcher图标启动应用程序。
在本例中,Splash (Activity)被启动,然后带我到主屏幕。在日志中,调用onStop() of Hom
因此,我有视图控制器A、B和C。在A中,我在当前上下文中以模态方式表示VC B。在VC B中有一个按钮,我在这里展示VC C(使用segue)
现在关闭视图控制器C,我正在尝试关闭VC B,并从VC A运行一些函数,该函数基于一些逻辑再次呈现VC B。但在本例中,我得到了这个错误"Attempt to present UIViewController on UIViewController whose view is not in the window hierarchy“
我试着用一个完成处理程序dispatchQueue(after:)关闭它,但这些都不起作用。
相反,我在VC A
我在导航控制器容器中的另一个视图控制器B上以模式方式显示视图控制器A。当模拟此视图控制器A时的内存警告时,我按预期接收didReceiveMemoryWarnings消息,然后接收消息viewDidUnload,从而使视图控制器A的视图消失。
这令我感到惊讶,我不知道如何解决这个问题。为什么要调用viewDidUnload,在过程中释放可视视图?
下面是一个堆栈跟踪,以防它帮助找出问题所在:
0x01458535 in -
0x01463eb8 in -
0x01457b6d in -
谢谢你的帮助!