我想将一个进程从android设备迁移到一台计算机,通过我的计算机执行该进程并返回到android设备。是否可以在Android设备和计算机之间迁移进程?
更多细节:我将开发一个将执行某种任务的应用程序(比如按升序排序5000个数字的列表)。此任务将在Android设备上的功能A中执行。现在,我想要做的是在服务器上执行该功能(在运行时)。服务器将不会提前提供功能代码。因此,当在Android设备上调用该函数时,函数(进程)将迁移到服务器(代码+输入数据),在服务器上执行,然后将排序列表返回到android设备。希望你能得到我的问题。
答案 0 :(得分:1)
你不能“发送过程”。通常,您将开始在手机上执行进程,然后向服务器发送请求,然后使用ether push或pull在服务器上获取执行结果,之后您可以在手机上恢复逻辑。在您的Android应用程序中使用REST协议和使用HttpClient之类的东西将是可能的解决方案
答案 1 :(得分:0)
Android没有内置支持暂停进程的方式,可以将其恢复为其他位置的进程。
您可以修改要迁移的流程吗?或者您是否尝试针对任意Android进程?
Android确实支持原始的,应用程序感知的“暂停”和“恢复”(一个表现良好的Android应用程序应该保持其状态,以便它可以透明地“恢复”甚至被杀死 - 请参阅Android Process Lifecycle )。如果您控制有问题的应用程序,您可以以平台中立的方式编写saveStateInstance
并在桌面上使用它来“恢复”该过程,反之亦然。根据您对“流程迁移”的定义,这可能会也可能不会计算。
理论上没有任何东西阻止将更强大的流程迁移添加到Android(迁移基于Java的流程应该更容易一些),但是你会遇到all the standard process migration issues(网络身份,本地资源使用,开放网络连接是标准的绊脚石)。