标签: background-process

android设计注意事项:AsyncTask vs Service(IntentService?)

我正在设计一个Android应用程序,需要执行以下步骤:

  1. 用户按下按钮或以其他方式指示"同步数据".
  2. 同步过程将使用REST Web服务将数据移入和移出服务器.
  3. 数据将本地存储在sqlite数据库中.
  4. 同步过程应该向UI提供状态更新/消息
  5. 不应允许用户漫游到应用程序的其他部分,并在同步过程中执行更多工作.

同步过程第一次运行时,可能需要10-20分钟.在初始同步之后,将传输和存储的数据更少,我希望该过程需要1-2分钟或更短时间.

我一直在阅读有关Android的AsyncTask各种内容以及使用服务的各种示例...但我并不完全理解选择一种设计而不是另一种设计的设计考虑和权衡.我目前使用AsyncTask将我的演示项目删除.观看(大部分)开发Android REST客户端应用程序之后:http: //code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html#我对此处描述的设计模式感到困惑感觉过于复杂,也许是因为我只是"不明白".

我来自java,spring,web和桌面应用程序背景.对手持设备进行思考和设计对我来说是一个新手.(当屏幕布局发生变化时会发生什么?当我正在运行同步时手机响铃会发生什么?)如果初始同步IS将是一个如此长时间运行的过程,请退回2步,是否有更好的方法我要考虑问题 - >解决方案,用户体验,用户对手机上运行的应用程序的期望?

很想听听那些已经与这些问题搏斗的更有经验的Android开发者.

android background-process android-asynctask android-intentservice

52
推荐指数
3
解决办法
2万
查看次数

即使手机处于睡眠状态,也可以保持服务正常运行?

我的应用程序中有一个服务,它设计为每10分钟运行一次.它基本上检查我们的服务器,看看是否一切正常运行,并通知用户任何问题.我创建了这个应用程序供我们公司内部使用.

我的同事在漫长的周末使用了该应用程序,并注意到该设备进入睡眠状态时未执行任何检查.我的印象是服务应该在后台继续运行,直到我明确地调用stopService()我的代码.

所以最终,我的目标是让服务运行,直到用户点击应用程序中的关闭按钮或终止进程.

我听说过一些叫做WakeLock屏幕不能关闭的东西,这不是我想要的.然后我听说了另一种称为部分WakeLock的东西,即使设备处于睡眠状态,也可以使CPU保持运行.后者听起来更接近我的需要.

我如何获得此WakeLock以及何时应该发布它并且有其他方法可以解决这个问题吗?

service android background-process wakelock

51
推荐指数
2
解决办法
4万
查看次数

在后台运行应用程序超过10分钟

我正在尝试将iOS应用程序保持活动状态超过10分钟,当它进入后台状态时.

我该如何实现呢.

background-process ios

48
推荐指数
2
解决办法
7万
查看次数

.NET Core中HostingEnvironment.QueueBackgroundWorkItem的替代解决方案

我们正在使用.NET Core Web Api,并寻找一种轻量级解决方案,将具有可变强度的请求记录到数据库中,但不希望客户端等待保存过程.
不幸的是,没有HostingEnvironment.QueueBackgroundWorkItem(..)实施dnx,Task.Run(..)也不安全.
有没有优雅的解决方案?

background-process asp.net-core-mvc .net-core dnx asp.net-core

44
推荐指数
4
解决办法
9459
查看次数

考虑到操作系统在30秒内关闭应用程序,Whatsapp的Web版本如何在iOS设备上运行?

现在对于那些不知道的人,可以访问https://web.whatsapp.com/Whatsapp通过交换QR码同步你的聊天记录并通过应用程序的网络扩展聊天.

我对他们如何进行初始握手(可能与whatsapp服务器进行通信)以及如何快速同步数据以进行聊天(可能是直接从设备到客户端使用Open套接字)感兴趣.

我很好奇应用程序如何在iOS上的Background中工作.运行背景的AFAIK Intent Service非常简单.但不适用于iOS.应用程序正常关闭后,iOS最多只允许30秒.

1)我尝试崩溃应用程序(向上滑动)(仍然是网络版正常运行)

2)我禁用Background App refresh了网页版本没有停止.

3)即使禁用Notifications仍然Web版本正常工作.

4)当他们给出指示应用程序在BG中运行的指示Blue bar时,他们也没有喜欢Google Maps

5)他们是否使用Dummy Geo Fencing让他们活着?(但这也需要BG App Refresh)

这是iOS 8上引入的一些新功能,我不知道

objective-c background-process ios whatsapp ios8

42
推荐指数
2
解决办法
3062
查看次数

PHP后台进程

我正在尝试创建一个PHP脚本,我已经完成了脚本,但是它需要10分钟才能完成它的设计过程.这不是问题,但我认为我必须一直保持页面加载这很烦人.我可以拥有它以便我启动该过程然后在10分钟后返回并查看它生成的日志文件吗?

php background-process

41
推荐指数
5
解决办法
5万
查看次数

在Ruby中生成后台进程

我正在为学校项目编写一个ruby bootstrapping脚本,这个引导过程的一部分是启动一些后台进程(编写并正常运行).我想做的是:

`/path/to/daemon1 &`
`/path/to/daemon2 &`
`/path/to/daemon3 &`
Run Code Online (Sandbox Code Playgroud)

但是,第一次调用时会阻塞执行daemon1.我已经看过一个Process.spawn方法的引用,但这似乎是一个1.9+的功能,我只限于Ruby 1.8.

我也尝试从不同的线程执行这些守护进程,但我希望我的引导脚本能够退出.

那么我怎样才能启动这些后台进程,以便我的引导脚本不会阻塞并且可以退出(但仍然让守护进程在后台运行)?

ruby background-process

40
推荐指数
1
解决办法
2万
查看次数

Ruby on Rails中的消息队列

人们使用Rails应用程序的消息队列是什么,决定选择它的驱动力是什么.最新的Twitter宣传其内部队列Starling是否会影响任何现有的设计决策.

我正在开发一个需要一个消息队列来处理一些后台任务的应用程序,我没有做太多这样的事情,我过去看过的大部分内容都是关于Starling和Workling,说实话应用程序不是很大,这个解决方案可能就足够了,但我很乐意获得集成最佳解决方案的经验,因为我确信我会在某个时候将其集成到更大的应用程序中.

你会为Rails应用建议什么消息队列?

编辑:感谢您的建议,我将在本周末看看他们中的一些.

再次编辑:我已经环顾四周,有点不知所措.然而,我将把RabbitMQ与Workling集成到我正在构建的应用程序中,然后如果我需要一些关于快速队列的知识,那么我将拥有它并知道它是否符合我的需求.

编辑:发现越来越多的DJ适合我,如果我在网站上"长大",我会说Resque是我要去的地方.

编辑:(2014年12月)所以自从我问这个问题已经有很长一段时间了,但我看到它仍然得到一些观点或一些投票,所以当我选择背景工作者时,我想我会更新它的方法.

在我看来,目前在Ruby中运行后台作业的最佳方法是使用Sidekiq.很多人真的称赞Sidekiq是因为它是线程化的工作者,而不是每个工人的处理能够使用比Reski更少的内存,而Resque就是我在Sidekiq之前使用的.这很好,但对我来说,这不是杀手级的功能.通过使用Sidetiq与Sidekiq,作业调度是如此微不足道,我切换,从来没有把目光从它背面,我已经使用并取得了Sidekiq一件轻而易举的使用作业迄今为止最容易调度.

ruby ruby-on-rails message-queue background-process

38
推荐指数
3
解决办法
2万
查看次数

如何在iOS中运行已经运行的任务使用beginBackgroundTaskWithExpirationHandler

在我的应用程序中,我将图像从iPhone上传到服务器.如果用户按下主页按钮同步,App将关闭.

我希望应用程序必须在后台运行,直到同步完成.

我的问题是:如何用" beginBackgroundTaskWithExpirationHandler" 添加当前正在运行的任务?

请分享您的想法.

iphone background-process ios

38
推荐指数
4
解决办法
4万
查看次数

iPhone上的Nike + GPS如何在后台接收加速度计更新?

适用于iOS 5的全新Nike + GPS应用程序能够在后台处理加速度计事件(从而允许室内跑步机跟踪).这怎么可能?当我将我的应用程序放在后台时,它会停止接收事件.我使用标准的UIAccelerometer API.

accelerometer background-process ios5

33
推荐指数
1
解决办法
1万
查看次数