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