恢复 activity
Restore activity
当我旋转 phone 时,activity 再次调用 onCreate 并重置所有内容。
是否可以像位置管理器那样保留数据和服务,或者我必须保存和恢复它?
我所说的数据是指类似于对象列表的东西。
每次旋转 phone 时,如何防止代码保持 运行 onCreate?
将此添加到您的 Activity
中 AndroidManifest.xml
:
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
示例片段:
<activity
android:name="your.package.activity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" <!-- Keep data on rotation -->
android:windowSoftInputMode="adjustPan"> <!-- Keep keyboard from "pushing" layout -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
注意:这不是“首选”方式,但我在大多数 Android 应用程序中都使用它(阅读此处:http://developer.android.com/training/basics/activity-lifecycle/recreating.html)
当我旋转 phone 时,activity 再次调用 onCreate 并重置所有内容。 是否可以像位置管理器那样保留数据和服务,或者我必须保存和恢复它? 我所说的数据是指类似于对象列表的东西。 每次旋转 phone 时,如何防止代码保持 运行 onCreate?
将此添加到您的 Activity
中 AndroidManifest.xml
:
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
示例片段:
<activity
android:name="your.package.activity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" <!-- Keep data on rotation -->
android:windowSoftInputMode="adjustPan"> <!-- Keep keyboard from "pushing" layout -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
注意:这不是“首选”方式,但我在大多数 Android 应用程序中都使用它(阅读此处:http://developer.android.com/training/basics/activity-lifecycle/recreating.html)