7

我想上传大文件(~10 - 100Mb wifi 或移动网络),但在后台,因为用户可能会离开应用程序,稍后系统将关闭应用程序(如果不是 enoguh 内存)我为此创建了一个服务情况,但我的问题是,当我终止应用程序时,服务重新启动并重新开始上传。我发现同样的问题没有解决方案:

用户退出应用程序后保持后台服务活动

每次关闭应用程序时我的服务都会重新启动

所以它不起作用,但解决方案是什么?youtube 应用程序如何???

4

2 回答 2

2

startForeground()如果您担心服务被杀死的可能性,您应该通过该方法使用前台服务。

服务生命周期文档

  • 启动的服务可以使用 startForeground(int, Notification) API 将服务置于前台状态,系统认为它是用户主动意识到的,因此在内存不足时不适合杀死。(理论上,在当前前台应用程序的极端内存压力下,服务仍然可能被杀死,但实际上这不应该是一个问题。)
于 2014-01-02T21:28:30.017 回答
-1

你对服务器有控制权吗?这看起来就像:

通过 HTTP 上传大文件

谷歌搜索提出了 Gears 项目的提案:

https://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal

如果您可以使用允许远程 PUT 的服务器/插件/模块,那是您最好的选择,否则您可能必须自己滚动“分块”......根据您的工具和知识,这可能是最好的无论如何,您可以对其进行调整以针对您的特定移动条件进行优化。

于 2014-01-02T21:14:25.910 回答