Android棒棒糖调用onCreate after finish()
这是Android棒棒糖5.0的一个奇怪行为。 我有两项活动,A和B。 A启动活动B。当我在活动B中单击后退按钮时,Android在A上调用onCreate方法。 这种行为只有在棒棒糖5.0中才能观察到。 在其他版本中,在完成另一个活动后,永远不会调用onCreate 有什么问题 这是我的舱单:Android棒棒糖调用onCreate after finish(),android,android-activity,android-5.0-lollipop,activity-lifecycle,Android,Android Activity,Android 5.0 Lollipop,Activity Lifecycle,这是Android棒棒糖5.0的一个奇怪行为。 我有两项活动,A和B。 A启动活动B。当我在活动B中单击后退按钮时,Android在A上调用onCreate方法。 这种行为只有在棒棒糖5.0中才能观察到。 在其他版本中,在完成另一个活动后,永远不会调用onCreate 有什么问题 这是我的舱单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/a
<?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>
我认为正在发生的事情是,当您离开活动
A
时,活动A
将调用onStop()
,因为它完全隐藏,而B
位于其顶部
通常现在,当您在按下后退后继续活动时,会调用onStart()
,然后调用onResume()
但是,如果您看到,则在技术上也可以调用
onCreate()
,如果其他具有更高优先级的应用程序需要更多内存,则系统会终止您的应用程序进程 请确保未选择该选项
开发人员选项->不保留活动
这是完全正常的行为,可以出现在任何设备上……棒棒糖只是比其他版本的Android更快地终止了你的后台进程(显然),但这是正常的,可以发生在任何基于垃圾收集的设备上。太棒了!只是好奇这个选项是否会影响正常使用,或者只是影响正在调试的应用程序?