为什么不设置clearTaskOnLaunch =“true”导致OnCreate被调用?

时间:2010-04-05 17:57:06

标签: android

我的应用程序工作正常,一旦它在我的View类的OnCreate方法中初始化。但是,当我在Droid手机整夜闲置后打开我的应用程序时,OnCreate方法没有被调用。

我使用OnCreate初始化数据,然后初始化GUI。 GUI清楚地显示OnCreate未被调用。

我尝试在我的清单中设置clearTaskOnLaunch =“true”。我的清单是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.hedgetools.trin"
  android:versionCode="2"
  android:versionName="1.02">
  <application android:icon="@drawable/icon"
               android:label="@string/app_name"
               android:clearTaskOnLaunch="true">
    <activity android:name=".Trin"
              android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
  <uses-sdk android:minSdkVersion="6" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

这没有帮助。 Droid手机整夜闲置后,我的OnCreate方法没有被调用。

为什么clearTaskOnLaunch不能导致调用OnCreate?

非常感谢任何帮助或建议。

查尔斯

2 个答案:

答案 0 :(得分:1)

只有在应用程序作为新应用程序启动时才会调用OnCreate。随后调用OnResume函数。

有关应用程序生命周期的说明,请参阅http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:0)

clearTaskOnLaunch告诉android从家里启动它时,从历史堆栈中删除除主要活动之外的任何活动。它与触发onCreate无关。

Sidharth没错,因为你需要将你的初始化放在onResume上,而不是onCreate。请参阅http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle中的图表,以便快速解释不同的活动状态。