2013-01-10 55 views
1

我想从android设备迁移进程到电脑,通过我的电脑执行进程并返回到android设备。是否有可能在Android设备和计算机之间迁移进程?流程迁移

更多细节:我将开发一个应用程序来完成某种任务(比如按照升序对5000个数字进行排序)。该任务将在Android设备上的功能A中执行。现在,我想要做的是在服务器上执行该功能(运行时)。服务器将不会提前获得功能代码。因此,在Android设备上调用函数时,函数(进程)将迁移到服务器(代码+输入数据),在服务器上执行,然后将已排序的列表返回给android设备。希望你能得到我的问题。

+2

难道你不能只是发送一个请求到您的计算机上的服务器做些什么,然后将其返回到您的设备上的客户端? – syb0rg

+0

是的,其实我正在做一些研究并希望实施所有可能的解决方案。所以我真的想实现这个:) – atta

+0

你真的想做什么?流程迁移对于不存在的指甲类型是一个锤子。 –

回答

1

你不能“发送进程”。一般来说,您将开始在手机上执行进程,然后向服务器发送请求,然后使用ether push或pull获取服务器上的执行结果,然后您可以恢复手机上的逻辑。像REST协议和在您的Android应用程序中使用HttpClient将是可能的解决方案

+0

HTTP请求非常慢。更多细节:我将开发一个应用程序来完成某种任务(比如按照升序对5000个数字进行排序)。该任务将在Android设备上的功能A中执行。现在,我想要做的是在服务器上执行该功能(运行时)。服务器将不会提前获得功能代码。因此,在Android设备上调用函数时,函数(进程)将迁移到服务器(代码+输入数据),在服务器上执行,然后将已排序的列表返回给android设备。希望你能得到我的问题。 – atta

0

Android没有内置的支持来暂停进程,使其可以作为别的进程恢复。

你能修改你想迁移的进程吗?或者你是否试图针对任意Android流程?

Android确实支持原始的,应用程序感知的“暂停”和“恢复”(一个表现良好的Android应用程序应该保持其状态,以便它可以透明地“恢复”,即使它被杀死 - 见Android Process Lifecycle)。如果您控制有问题的应用程序,则可以用平台中立的方式编写saveStateInstance,然后在桌面上使用它来“恢复”该进程,反之亦然。根据您对“流程迁移”的定义,这可能或可能不会计算在内。

从理论上来说,阻止向Android添加更强大的流程迁移(迁移基于Java的流程应该更容易一些),但您会遇到all the standard process migration issues(网络标识,本地资源使用情况,而开放的网络连接是标准的绊脚石)。

+0

更多细节:我将开发一个应用程序来完成某种任务(比如说按升序对5000个数字进行排序)。该任务将在Android设备上的功能A中执行。现在,我想要做的是在服务器上执行该功能(运行时)。服务器将不会提前获得功能代码。因此,在Android设备上调用函数时,函数(进程)将迁移到服务器(代码+输入数据),在服务器上执行,然后将已排序的列表返回给android设备。希望你能得到我的问题。 – atta