iOS开发,如何延长程序后台运行时间
2个回答
展开全部
进入后台即被挂起,此时程序中的代码不会再被执行,你无法在后台运行,因此不存在延长运行时间的说法。你可以称之为后台驻留,应用会暂停运行,系统进行管理。内存不够时,你的应用在后台呆了很久用户一直没打开,可能会被释放,会重新启动。
能够在后台运行的任务是有限的,比如网络语音通话(VOIP)、音乐播放器、GPS。
此类功能有的需要在plist进行设置,有的要求必须使用官方的类库,也就是说ios的多任务(伪)对于开发者来说只能调用官方提供的那几个API。
如果你想靠socket保持连接,那你需要小心审核的问题,我有几个朋友因此审核被拒。
能够在后台运行的任务是有限的,比如网络语音通话(VOIP)、音乐播放器、GPS。
此类功能有的需要在plist进行设置,有的要求必须使用官方的类库,也就是说ios的多任务(伪)对于开发者来说只能调用官方提供的那几个API。
如果你想靠socket保持连接,那你需要小心审核的问题,我有几个朋友因此审核被拒。
追问
在网上查,说按下home键后,程序会在后台运行5秒才被挂起,有时还可以把后台运行的时间延长到10分钟,请问如何才能做到延长后台运行时间,我只需延长至20秒即可。求高手指点
2017-02-05 · 专业app开发、互联网营销策划
广州启汇营销策划有限公司
广州启汇营销策划有限公司是国内领先的移动互联网技术解决方案服务商。拥有子品牌:启汇网络和启汇营销。提供APP、移动商城、Web等开发服务。专注品牌建设、全媒介投放、内容运营、活动策划等市场服务。
向TA提问
关注
展开全部
iOS开发延长程序后台运行时间原理:
为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式的“假后台”。
解决方法:选择定位服务的方法来保持后台。
启动定位服务:
需要引入头文件:#import;
在AppDelegate.m中定义CLLocationManager * locationManager;作为全局变量方便控制;
在程序启动初期对定位服务进行初始化;
在程序转入后台的时候,启动定位服务,这样在定位服务可用的时候,程序会不断刷新后台时间,实际测试,发现后台180s时间不断被刷新,达到长久后台的目的。
注意:这样使用也有一些问题,在部分机器上面,定位服务即使打开也可能不能刷新后台时间,需要完全结束程序再运行。稳定性不知道是因为代码原因还是系统某些机制原因。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询