2011-03-24 67 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