Tester报了一个bug,大概以下:调试
页面:Activity1 dialog1(半透明遮罩样式)生命周期
Activity2 dialog2it
场景:Activity1弹出dialog1,dialog1弹出activity2并关闭dialog1,activity2弹出dialog2,每一步的弹出操做都有callback入参bug
此时,调用dismiss关闭dialog2,而后调用activity2.callback,在activity2.callback中调用activity2的finish()方法,而后调用Activity1.callback,并在会调用弹出dialog1方法
此时dialog1只会显示半透明遮罩,dialog1的内容view不会显示call
Debug:在activity2.finish()代码后面打断点调试,发现能正常显示;在调用activity2.finish()后,在Thread.Sleep(2000)发现也能正常显示;因此初步怀疑是Activity2没有及时的销毁或者其余缘由致使的,在根据Activity的生命周期,尝试在onStop中调用回调,发现能解决问题。callback