【问题标题】:Process migration进程迁移
【发布时间】:2013-01-10 22:50:55
【问题描述】:

我想将一个进程从 android 设备迁移到计算机,在我的计算机上执行该进程并返回到 android 设备。安卓设备和电脑之间可以迁移进程吗?

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

【问题讨论】:

  • 您不能直接向您计算机上的服务器发送请求以执行某项操作,然后将其返回给您设备上的客户端吗?
  • 是的,实际上我正在做一些研究并希望实施所有可能的解决方案。所以我真的很想实现这个:)
  • 你真正想做什么?进程迁移是不存在类型的钉子的锤子。
  • 更多细节:我将开发一个执行某种任务的应用程序(比如按升序对 5000 个数字的列表进行排序)。此任务将在 android 设备上的函数 A 中执行。现在,我想做的是在服务器上(运行时)执行该功能。服务器不会提前获得功能码。因此,在android设备上调用该函数时,该函数(进程)会迁移到服务器(代码+输入数据),在服务器上执行,然后将排序后的列表返回给android设备。希望你能得到我的问题。

标签: java android process parallel-processing


【解决方案1】:

您不能“发送进程”。通常你会在手机上开始执行流程,然后向服务器发送请求,然后使用以太推送或拉取在服务器上获取执行结果,之后你可以在手机上恢复你的逻辑。像 REST 协议和在您的 Android 应用程序中使用 HttpClient 之类的解决方案将是可能的解决方案

【讨论】:

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

Android 没有内置支持暂停进程以使其可以在其他地方恢复为进程。

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

Android 确实支持原始的、应用感知的“挂起”和“恢复”(表现良好的 Android 应用程序应该保持其状态,以便即使它被杀死也可以透明地“恢复”——请参阅Android Process Lifecycle)。如果您控制有问题的应用程序,您可以以平台中立的方式编写saveStateInstance,并在桌面上使用它来“恢复”该过程,反之亦然。根据您对“进程迁移”的定义,这可能会也可能不会计数。

理论上没有什么可以阻止将更健壮的进程迁移添加到 Android 中(迁移基于 Java 的进程应该更容易一些),但您会遇到all the standard process migration issues(网络身份,本地资源使用,开放的网络连接是标准的绊脚石)。

【讨论】:

  • 更多细节:我将开发一个执行某种任务的应用程序(比如按升序对 5000 个数字的列表进行排序)。此任务将在 android 设备上的函数 A 中执行。现在,我想做的是在服务器上(运行时)执行该功能。服务器不会提前获得功能码。因此,在android设备上调用该函数时,该函数(进程)会迁移到服务器(代码+输入数据),在服务器上执行,然后将排序后的列表返回给android设备。希望你能得到我的问题。
猜你喜欢
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 2017-02-18
  • 2018-11-03
  • 2016-04-15
  • 1970-01-01
相关资源
最近更新 更多