2012-11-28 96 views
0

我必須以1個小時的時間間隔重新啓動我的應用程序。但是,當我嘗試下面的代碼,一個新的活動開始,但我想要關閉的活動仍然作爲線程在後臺運行:SAndroid重新啓動主要活動代碼

我該怎麼辦?謝謝..

if (timeOutOK) { 

      finish(); 
      Intent i = getBaseContext().getPackageManager() 
        .getLaunchIntentForPackage(
          getBaseContext().getPackageName()); 
      i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(i); 

     } 
+0

爲什麼?這是目的? – Vladimir

+0

活動不能作爲另一個線程在後臺運行。也許如果你概述你想要達到的目標,這裏的某個人可以幫助你更好一點。 – Archit

+0

不!我試圖關閉主要活動,但它仍然在後臺運行,我可以看到正在運行的應用程序。 –

回答

0

您可能在某處保持對活動的生動參考。即使完成調用之後,舊活動也不會進行GC編輯,直到沒有活動引用爲止,因此您需要更新所有引用以指向新的「活動」。

你說它在後臺運行,因爲線程沒有任何意義,但是隻要未正確處理,您的活動可能會在後臺線程或UI線程上繼續執行操作。