启者
我已经制作了一个全新的项目并添加了
"android:resizeableActivity="true"
。
然后在生命周期方法(onStart(), onResume(), onStop()...
)
之后,使用模拟器在Android N(API 24)(6.x)上运行我的应用程序。
我发现我的应用程序在前面时,长按最近的按钮进入多窗口模式,日志打印
的onPause() - >的onStop() - >的的onDestroy() - >在onStart() - >的onResume() - >的onPause()
这是对的吗?或者我可能会犯错误吗?
如果它是正确的,我可以检测到应用程序是否真的结束了,还是onDestroy()
中的多窗口模式?
因此,我可以在进入多窗口模式时防止某些对象被破坏。
答案 0 :(得分:3)
将screenLayout添加到android:manifest.xml中的configChanges可以解决问题。
答案 1 :(得分:1)
它对我有用的唯一方法是将 screenLayout 和 smallestScreenSize 设置为 manifest.xml 中的android:configChanges
。
答案 2 :(得分:0)
摘自文档:
注意:要处理所有与多窗口相关的配置更改,请使用 “ screenLayout”和“ smallestScreenSize”。多视窗现为 在Android 7.0(API级别24)或更高版本中受支持。
因此,您应该使用
android:configChanges="orientation|screenSize|screenLayout|smallestScreenSize"
在您的<activity
清单中