这是Android Lollipop 5.0的一个奇怪的行为。 我有两个活动,A和B. A启动活动B.当我点击后退按钮时,在活动B中,Android在A上调用onCreate方法。 仅在Lollipop 5.0中可以观察到此行为。 在其他版本中,onCreate在完成另一个活动后从未被调用。
有什么问题?
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example"
android:versionCode="1"
android:versionName="1" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<application
android:name=".Application"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppThemeMaterial" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".activities.ActivityA"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activities.ActivityB"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/activityB" >
</activity>
</application>
</manifest>
答案 0 :(得分:16)
请确保未选择该选项
开发者选项 - &gt;不要保持活动
答案 1 :(得分:4)
我认为发生的事情是,当您离开活动A
时,onStop()
会在活动A
上被调用,因为它已完全隐藏且B
位于它。
通常现在,当您在按下A
之后恢复活动时onStart()
,然后onResume()
。
但是,如果您看到Activity LifeCycle,那么在技术上也可以调用onCreate()
,如果您的应用程序的进程被系统杀死,如果其他具有更高优先级的应用程序需要更多的记忆。