导航:首页 > 科技大全 > ios系统伪后台

ios系统伪后台

发布时间:2023-04-21 22:48:40

1. iOS"伪后台"机制下如何保持APP一直运行在后台

最近在做番茄钟的功能。首先简单介绍一下番茄钟吧,就是25分钟工作番茄工作法。先说一下** 番茄工作法 **:

那么功能就相当于一个25分钟的闹钟,可以播放背景音乐,到点给用户提醒。

功能听起来很简单是不是?其实挺多坑的。

开发过程中遇到了2个问题。

OK,下缺源面我们一步一步来分析并解决这两个问题。

** 首先要理解iOS系统的后台机制 **

我们伏升态都知道,苹果对APP占用硬件资源管的很严,更不要说应用后台时候的资源占用了。正常情况下,使用应用时,APP从硬盘加载到内存,开始工作;当用户按下home键,APP便被挂起,依然驻留在内存中,这种状态下,不调用苹果已开放的几种后台方法,程序便不会运行;如果在这个时候,使程序继续运行,则为后台状态;如果当前内存将要不够用时,系统会自动把之前挂起状态下的笑饥APP请出内存。所以我们看到,有些时候打开APP时,还是上次退出时的那个页面那些数据,有时则是重新从闪屏进入。

iOS系统后台机制大概可以分为5种状态

** 那么我需要的是Background模式。即APP在后台运行同时保持程序active的状态 **

首先去xCode里面设置。到info.plist中添加以下信息:

然后到Capabilities里面打开后台模式,并根据项目的要求勾选对应的功能。我这里只需要保持后台运行并且播放背景音乐及通知功能。所以就勾选了第一个和最后一个

以上这两步是告诉系统我这个APP支持后台模式,对应的环境为音频环境。

可是到这一步,APP还是不能长时间运行到后台。

为什么?我们思考一下。我们让程序支持了后台运行的模式。那么我们是不是还需要系统知道我们的程序要在后台运行多久呢?我们需要告诉系统我们期望APP在后台存活的时间。

首先声明一个属性

在进入后台的时候通过AppDelegate里面的方法:

现在就可以让我们的APP一直运行在后台啦!总结下来的思路就是:通过一个后台任务(这个任务我们也不用管,它存在的意义就是和系统去请求后台运行的一定的时间),这个时间我们不知道也不用去管,我们可以通过该时间还剩下多少判断是否继续请求时间,如此循环,我们就可以不断的请求时间来保持我们的app一直运行在后台。

接下来解决音乐在后台模式(切换到后台或者锁屏状态)下停止播放的问题。

其实很简单。

下面解释一下AVAudioSession的一些设置参数

Demo地址: https://github.com/BoYangZuo/KeepAppActive

** 欢迎star!**

2. 安卓真后台和苹果伪后台有什么区别

安卓真后台和苹果伪后台的区别在于:

1、APP在后台的运行状态不同。

(1)、Android的“真后台”允许APP留存在后台,依靠着Service服务组件继续运行,抢占前台CPU资源;

(2)、苹果的ios系统“伪后台”中,应用最多只能在后台运行5秒,之后就会被挂起(存于内存但不运行)造成后台不会下载、开多个网页后切换需要重加载的现象。

2、对手机流畅度的影响不同。

(1)、Android系统“真后台”允许应用在后台运行,使得手机容易卡顿,对手机的流畅度影响较高,会使手机的使用流畅度大大降低;

(2)、苹果的ios系统采用“伪后台”的形式,减轻了对手机流畅度的影响,因为苹果手机衡锋竖对后台的限制非常严格,只有一些特殊应用可以在后基悉台真正运行。这保证了当前活跃程序的系统资源,保证了手机的流畅性及续航能力。

(2)ios系统伪后台扩展阅读:

从iOS7开始,苹果的后台实现了从“伪后台”到“智能后台”的历史性革新。一旦手机锁屏,后台应用将也会很快被暂停(不是像之前那样要一直运行到完成任务或超时),之后当系统被唤醒时(比如接咐大到电话),那些暂停的后台应用也会一起继续运行。

这种方式采用了非常复杂的设计逻辑,在兼顾系统安全性、流畅性和续航能力的基础上,最大限度上实现了真后台的一些功能,比如后台刷新、推送唤醒和后台传输,尤其是能根据用户的行为习惯,提前唤醒/启动一些高频使用的APP,不需要在打开后重新加载。

这样的好处是,系统不会因为第三方应用在后台运行而长时间处于唤醒状态,对电池续航有益,而且第三方应用的保持时间也更久了(虽然真正的活跃时间是一样的)。

3. 手机假后台是什么意思

假后台就是伪后台,以前IOS就是著名的伪后台。

其实就是,当以为将软件后台操作了,但其实系统只是保留了软件的使用,但是却终止了内部运行。

比如,用浏览器打开一个网页,然后后台,网页会继续在后台打开。而伪后台不会继续打开,而且停留在连接网页阶段,再次打开侍让浏览器,必须继续等待网页打开。

(3)ios系统伪后台扩展阅读

随着iOS 4的发布,iOS也开始有了多任务功能,当你点击Home键后,当前程序转入后台(iOS 4之前按Home键就直接干掉应用了),后台应用以墓碑的形式(退出前的状态)保存在内存中,用户可以快速恢复。

但是苹果对后台的限制非常严格,只有一些特殊应用可以在后台真陵渣正运行,比如音频播放类,VoIP类,newsstand,位置服务等。

如果不做任何配置的话,你的应用最多只能在后台运行5秒,之后就会被挂起 (存于内存但不运行),如果你配置了后台运行(如需下载),大概在594秒(9.9分钟)时进程停止尺谈悄,程序同样也会被挂起,一旦系统需要内存了,最早的后台进程就会被杀掉以释放内存。

阅读全文

与ios系统伪后台相关的资料

热点内容
编程扩展效果如何 浏览:335
荣耀畅玩手环同步qq 浏览:475
怎么向sql中添加数据库 浏览:596
录歌失败重启app什么意思 浏览:522
压缩文件包怎么在微信发送 浏览:432
mysql数据库怎么插入时间值 浏览:191
微信视频不能转发朋友圈 浏览:596
影视后期的app有哪些 浏览:956
电子保单数据出错什么意思 浏览:368
如何以文件下载音乐 浏览:438
计算机网络章节练习 浏览:999
单片机的外部中断程序 浏览:48
表格批量更名找不到指定文件 浏览:869
js的elseif 浏览:584
3dmaxvray视频教程 浏览:905
imgtool工具中文版 浏览:539
java帮助文件在哪里 浏览:965
win10切换输入语言 浏览:696
haier电视网络用不了怎么办 浏览:361
苹果6手机id怎么更改 浏览:179

友情链接