2011-03-24 46 views
1

我有一個需要運行內存的進程,仍然允許用戶繼續使用該應用程序。如果用戶在此過程正在運行時使用應用程序,則應用程序將拋出內存不足錯誤。以下代碼從另一個應用中啓動應用。使用自己的內存空間啓動活動或服務

ntent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity")); 
startActivity(intent); 

是否有可能啓動一個應用程序作爲一個新的應用程序中過着活動或服務,或已成爲當前運行的應用程序的內存空間之外運行?

我讀了關於android:launchMode屬性,但它看起來不像任何屬性值將工作。

我還閱讀了有關創建全局服務的信息,但文檔沒有說明服務運行的位置。全局服務是否在自己的內存空間或應用程序的內存中運行?

任何建議將不勝感激。

克里斯

回答

3

我想我找到了答案,在http://developer.android.com/reference/android/app/Service.html

「如果我們想在一個遠程過程(而不是標準之一的.apk文件)運行該服務,我們可以使用Android :在其清單標籤的工藝,可以指定一個:「

<service android:name=".app.MessengerService" android:process=":remote" /> 

」注意,這裏使用的域名是‘遠程’是任意的,如果你想要更多的流程,您可以使用其他名稱的。‘:’前綴追加名稱添加到您的軟件包的標準進程名稱。「

我假設遠程進程意味着它在應用程序之外擁有自己的內存空間。如果它不起作用,我會發布更新。

+0

謝謝!正是我想要的:) – Croplio 2011-05-31 10:55:55