有以下活动
- MainActivity
- TranslucentChildActivity
- DialogGrandChildActivity
注意: android:configChanges="orientation"是在Manifest for TranslucentChildActivity中提到的,所以它不会被重新创建
- MainParentActivity startActivityForResult -> TranslucentChildActivity
- TranslucentChildActivity startActivityForResult -> DialogGrandChildActivity 现在改变方向
- 应该销毁并重新创建DialogGrandChildActivity
- TranslucentChildActivity也应该受到影响,因为它是在对话框活动的后台,但由于onConfigChange标志被设置,它不应该被销毁
- 但不幸的是,TranslucentChildActivity也被销毁并重新创建,并且onConfigurationChanged()回调没有被调用,这是令人惊讶的…
问题:
- android:configChanges="取向"标志不适用于半透明的活动?
- 我如何阻止这个半透明的活动被回收?
我的观察:
- 即使半透明子活动设置了处理其方向变化的标志,如果半透明后面的MainParentActivity没有设置android:configChanges="orientation"标志,它将是无效的
- 由于主父进程被终止,整个活动栈将被销毁并重新创建
- 无论孩子是否有任何标志设置
- 将全部被覆盖