MainActivity 在新活动开始时被销毁?

use*_*210 -1 android android-lifecycle android-activity

我有一个以 ListView 作为主要活动的活动。选择列表中的一个项目时,它将启动新的活动,从选中的列表中显示有关项目的详细信息。代码运行良好,相关细节如下:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Log.d("test","test");

    ListView listView=(ListView) findViewById(R.id.name_list);

    ListAdapter adapter=new SimpleAdapter(this,contactList,
            R.layout.list_item,new String[]{TAGS[2]},new int[]{R.id.list_name_display});

    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            Intent intent=new Intent(MainActivity.this,SingleContactActivity.class);
            intent.putExtra(EXTRA_CONTACT_POSITION,position);
            startActivity(intent);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

新创建的活动具有作为父活动的主要活动,因此当我查看完它时,我按操作栏上的向上按钮返回到列表视图。但是,该Log.d(...)行告诉我,每次转到详细信息活动,然后返回主活动时,都会重新创建主活动。

我不想要这个和我读这个的方式:https : //developer.android.com/training/basics/activity-lifecycle/stopping.html是当新的活动开始时应该停止主要活动,并且然后开始,然后按向上按钮恢复。有人知道我的主要活动被破坏的原因吗?

谢谢您的帮助

编辑:清单文件

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        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=".SingleContactActivity"
        android:label="@string/title_activity_single_contact"
        android:parentActivityName=".MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.jefe.jefecontacts.MainActivity" />
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

And*_* Y. 5

检查设备/模拟器中的开发人员选项。特别检查“不要保持活动”是否未选中。

注意:您不能总是保证父 Activity 不会被销毁。如果系统内存不足,操作系统可能会终止父活动。您应该为此做好准备,并在启动 SingleContactActivity 之前将所有必要的数据保存在父活动中。