Android:为什么在同一个应用程序中启动活动时会出现“启动超时已过期”?
我有一个测试应用程序,可以使用其类名启动内部设置活动:Android:为什么在同一个应用程序中启动活动时会出现“启动超时已过期”?,android,activity-lifecycle,Android,Activity Lifecycle,我有一个测试应用程序,可以使用其类名启动内部设置活动: Intent intent = new Intent(this, MyTestAppSettings.class); startActivity(intent); 在活动出现之前,此特定示例有10秒的长延迟,延迟是由于ActivityManager启动超时过期造成的。我添加了一些日志语句来显示这种情况,请参见下文 对settingsClick的调用发生在主活动中,您会看到ActivityManager启动intent。然后在为启动的活动输
Intent intent = new Intent(this, MyTestAppSettings.class);
startActivity(intent);
在活动出现之前,此特定示例有10秒的长延迟,延迟是由于ActivityManager启动超时过期造成的。我添加了一些日志语句来显示这种情况,请参见下文
对settingsClick的调用发生在主活动中,您会看到ActivityManager启动intent。然后在为启动的活动输入onCreate之前有10秒的延迟。在此期间,ActivityManager会记录启动超时已过期消息
是什么导致发生这种类型的超时
编辑下面是设置活动的代码,目前非常精简,仅测试从主应用程序启动的活动
@SuppressWarnings("unused")
public class MyTestAppSettingsActivity extends Activity {
protected static final String TAG = "MyTestAppSettings"; // for Log.x() calls
public static final boolean DEBUG_LOGGING = false; // verbose logging using Log.i()
public static final boolean DEBUG_PROCS = true; // enables proc entry/exit logging
private Context mThisActivityContext = null;
private Resources mResources = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
if (DEBUG_PROCS) { Log.i(TAG, "onCreate Enter"); }
super.onCreate(savedInstanceState);
setContentView(R.layout.monitor_settings);
mThisActivityContext = this.getApplicationContext();
mResources = mThisActivityContext.getResources();
if (DEBUG_PROCS) { Log.i(TAG, "onCreate Exit"); }
}
@Override
protected void onResume()
{
if (DEBUG_PROCS) { Log.i(TAG, "onResume Enter"); }
super.onResume();
if (DEBUG_PROCS) { Log.i(TAG, "onResume Exit"); }
}
@Override
protected void onPause()
{
if (DEBUG_PROCS) { Log.i(TAG, "onPause Enter"); }
super.onPause();
if (DEBUG_PROCS) { Log.i(TAG, "onPause Exit"); }
}
@Override
public void onStop() {
if (DEBUG_PROCS) { Log.i(TAG, "onStop Enter"); }
super.onStop();
if (DEBUG_PROCS) { Log.i(TAG, "onStop Exit"); }
}
}
以及设置活动布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:paddingLeft="3dip"
android:text="@string/displaySystemSettingsHeader"
style="@style/SettingsHeader"
/>
<LinearLayout
android:id="@+id/layoutSettings"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/imageButtonSettings"
android:layout_width="36dip"
android:layout_height="36dip"
android:clickable="true"
android:contentDescription="@string/btnSettings"
android:scaleType="fitStart"
android:src="@drawable/button_settings"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="3dip"
android:text="@string/displaySystemSettings"
style="@style/SettingsEntryTitle"
/>
</LinearLayout>
<CheckBox
android:id="@+id/chkInfoMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
style="@style/SettingsEntryTitle"
android:text="@string/infoButtonMode" />
</LinearLayout>
请在MyTestAppSettings中发布onCreate的代码。@Oam:我已将设置活动代码和布局xml添加到问题中。同时发布MyTestAppActivity
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:paddingLeft="3dip"
android:text="@string/displaySystemSettingsHeader"
style="@style/SettingsHeader"
/>
<LinearLayout
android:id="@+id/layoutSettings"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/imageButtonSettings"
android:layout_width="36dip"
android:layout_height="36dip"
android:clickable="true"
android:contentDescription="@string/btnSettings"
android:scaleType="fitStart"
android:src="@drawable/button_settings"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="3dip"
android:text="@string/displaySystemSettings"
style="@style/SettingsEntryTitle"
/>
</LinearLayout>
<CheckBox
android:id="@+id/chkInfoMode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
style="@style/SettingsEntryTitle"
android:text="@string/infoButtonMode" />
</LinearLayout>