IOS和Android的后台知识

iOS App处于后台/被杀死的状态仍可进行语言播报的实现方案( 离线合成+Service Extension) 文章目录引言I 离线合成 引言 在杀死APP的情况下唤醒APP,并执行代码的实现方式有Voip 推送和iOS 10新增的Service Extension。 本文采用Service Extension并结合本地通知实现app处于后台/被杀死的状态仍可进行语言播报。 其他解决方案: 云喇叭播放语音 强烈推荐的方案: apns的payload中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificatio 阅读详情

问题:
ios app能够在后台执行任务吗? 类似于android的service。
想搞个后台服务在那偷偷地跑
解答:
【活跃】I-深圳-T 2015/1/6 11:09:13
有个播放无声音乐得解决方案,但是会被拒绝。不要相信网上得
但是苹果在审核时可以反编译代码,然后它会果断拒绝你
所以不是那几种类型得app死心吧


首先我这个也是从别的地方看来的,我就是负责复制粘贴一下。
          一直以来安卓用户都嘲笑IOS的伪后台,苹果为什么不实现实时后台呢?既不是IOS技术上无法实现,也不是苹果傻到不考虑用户需求,今天通过对Android与IOS的后台与推送机制的简单介绍,相信大家一定会有答案。

  简单来说,iOS后台类型可以分为三种:
  1. 保存现场。按下Home键10秒内直接杀死进程,并释放内存,大多数第三方APP(非内置APP)都属于此类,APP会保存关闭时的状态以便保存数据和下次打开时恢复。
  2. iOS系统支持的“多任务”。按下Home键转入多任务状态,保留在内存中,但只能进行系统允许的动作:比如GPS,比如VoIP,比如流媒体播放等等,例如打开一个第三方音乐播放器,播放歌曲并按Home推出,音乐仍可以继续播放。
  3. 真正的桌面级别的多任务。只有Safari/Mail是,苹果嫡系大都都不是。这个级别的APP在后台没有任何限制动作。
  无限制后台动作的程序,一会在用户无察觉的情况下耗光电力,二会有安全上面的问题,所以苹果杜绝了绝大多数APP的后台动作,并且引入了推送服务器的概念。
  由于iOS不允许大多数的APP在后台实时运行,那么例如QQ这类软件是如何实现实时聊天的呢?IOS的推送(APNS,即 Apple Push Notification Service)依托iOS系统常驻进程运作,全局接管所有APP的消息推送,所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。例如,你的QQ好友给你发了一条消息,QQ服务器(Provider)会把这条消息转发给苹果对应的服务器(APNs)发出通知,然后再中转传送到你的设备之上。当你接收到通知,打开应用,QQ这个APP才开始从腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同的通道而来。
  我们再来看看Android:
  当进程被切换到后台时,系统暂停进程。不消耗CPU资源,只在内存保留运行状态,并根据应用本身设置优先级:
  七个优先级: 
  前台进程。顾名思义,你当前屏幕正在显示的进程。 
  可见进程。随时需要待命的进程,例如随时需要召唤出来的输入法。 
  主要服务。系统的必须服务,例如电话。 
  次要服务。与系统关系密切的服务,例如 Gmail 的邮件推送服务。 
  后台进程。同样顾名思义,就是刚刚被你切换到后台的进程。 
  内容供应节点。没有应用实体,仅提供内容供别的应用去用的,比如日历供应节点,邮件供应节点等。 
  空进程。没有任何东西在运行的进程,有些应用在退出后,依然会在进程中驻留一个空进程,这样的作用是提高该应用下次的启动速度或记录一些历史信息。
  正常的Android应用在退出之后要不就成为后台进程,要不就成为空进程。这些进程已经暂停了运行,不占用 CPU 资源和电量。在内存不足,用户需要打开另外的应用时,就会自动清除掉,所以完全不需要清理内存。
  那些不正常的应用,就会在后台开各种主要服务和次要服务,导致用户退出后继续运行,最常见的例子就是各种占据任务栏的xx电池助手、xx手机助手……
  还有我们熟悉的微信、微博,关闭后仍然会在后台驻留后台进程,以接受推送消息,并且不断唤醒处于深度睡眠中的CPU。
  我们仍以QQ为例,QQ在后台时会保留相关进程以及服务,并且与QQ服务器实时通讯以便获得好友发送来的消息。
  iOS的聪明之处在于系统集成的推送服务接管了所有APP的推送消息,开发APP时只需遵循这一API接口即可,任何iOS设备如iPhone可以在这个统一的系统服务上获得各类APP的推送消息,占用资源小巧,并且省电。而Android上如果有100个APP需要获取通知消息,就可能需要在后台运行100个进程或者服务,这对内存以及处理器的占用是相当巨大的,而且对电池的耗费也是比iOS更为严重。
  综上所述,苹果不允许绝大多数APP实现实时的真后台,无非是从安全性、系统流畅度与耗电三方面考虑,再加上推送服务器的架构,既让用户感觉到后台应用程序的相互切换是没有断层感,又实现了资源的有效利用,可谓是聪明之举。而Android的开放给予了APP更多权限,虽说耗电、系统资源占用高于IOS,不过Android的开放也不正是他获得成功的原因吗?

Levin:一句话总结:Android的后台service是真后台,IOS的推送机制是伪后台

Java判断地图坐标(经度,纬度)是否在多边形区域或圆形区域内 ​欢迎光临我的博客查看最新文章:在地图上,可以使用经纬度确定一个位置,如上海体育场(121.449391,31.188228),如果知道了2个地点的经纬度,我们就能在地图上找到其位置及2点的距离,百度地图或高德地图提供了相应的服务;如果将多个坐标点连成多边形区域,如何判断某个坐标点是否在多边形区域内,如下工具类。 阅读详情

相关推荐

RAD Studio 10.4.2 安装避坑指南:从镜像加载到首次运行的全流程解析

本文提供了一份详尽的RAD Studio 10.4.2安装避坑指南,涵盖从镜像验证、文件提取到安装激活的全流程。重点解析了安装教程中常见的权限、路径及激活顺序等关键“坑点”,旨在帮助开发者,尤其是Delphi和C++Builder新手,一次性顺利完成安装与配置,确保开发环境稳定运行。

weixin_29224309的博客 328

关于苹果和安卓的后台服务

小白想请教一下,苹果和安卓客户端是不是可以采用相同的后台服务,比如webservice之类的? 我想先做一个苹果app,等成熟后再做安卓,但是要提前将安卓的功能接口等等预留好,应该怎么处理比较合适? 感激不尽

286

实验三 Gmapping建图

自主移动机器人第三次实验课,内容包括:(1)turtlebot的gmapping建图;(2)rosbag的使用;(3)gazebo中的gmapping建图。

lj164567487的博客 4649

iOS常驻后台运行实现

最近重新看iOS的开发,确实有一些新的发现: 1、短时间常驻(3分钟): 比较简单,在AppDelegate里进行后台任务申请 var backgroundTask:UIBackgroundTaskIdentifier! = nil 申请一个任务ID func applicationDidEnterBackground(_ application: UIApplication) {} ...

frankxixu的专栏 6788

《物联网技术》课程笔记——第二章 物联网技术架构

文章目录第二章:物联网技术架构1 物联网技术体系(C3SD)2 系统体系结构的基本概念3 物联网体系结构——信息传递视角3.1物联网感知层3.1.1 感知层要解决的问题3.1.2 感知层的形态3.1.3 节点的感知能力与控制能力3.1.4 感知层实例3.2 物联网网络层3.2.1 网络相关概念3.2.2 IPV6与IPV4相比互联网协议的升级3.2.3 计算机网络的逻辑层次3.2.4 传输网的拓扑结构3.2.4.1 举例:智能小区的三表采集系统3.2.4.2 接入层3.2.4.2 汇聚层3.2.4.2 核心

南京大学软件工程硕士在读 2503

Langchain与Milvus集成中的pymilvus.exceptions.MilvusException: channel not found错误解析

本文深入解析了在Langchain与Milvus集成时常见的pymilvus.exceptions.MilvusException: channel not found错误。该错误通常由客户端配置错误、网络问题、服务端状态异常或版本不兼容导致。文章提供了从基础连通性测试到高级网络排查的完整故障排除指南,并针对本地Docker、远程服务器及Kubernetes等典型部署场景给出了具体解决方案,帮助开发者快速定位并修复这一连接层问题。

weixin_29229989的博客 217

Vue3+codemirror6实现公式(规则)编辑器

vue3+codemirror6+ts实现公式编辑器,可以插入标签、公式,也有补全提示

小阮的笔记本 5050

iOS后台运行模式(background execution mode)

后台运行模式

realyezi的博客 9169

Docker 环境 Playwright MCP 部署全流程指南

Docker部署Playwright MCP全流程指南 本文详细介绍了使用Docker容器化部署Playwright MCP的完整流程,涵盖镜像拉取、容器启动、配置优化和问题排查。主要内容包括: 核心部署步骤:通过官方镜像快速搭建环境,支持自定义端口和数据持久化 关键配置要点:详解网络设置、持久化目录挂载和环境变量配置 服务验证方法:通过日志检查和服务连通性测试确保部署成功 客户端集成:提供VS Code等IDE的配置示例 常见问题解决:针对浏览器启动超时、跨域限制等问题给出解决方案 实战案例:演示自动化爬

勤奋的码农 1474

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

APP测试中ios和androis的区别,有哪些注意点_苹果和安卓沙盒区别

当你第一次使用APP时,会询问是否接收通知,如果你选择了是,那么服务器就会记录你的ID,当有消息通知的时候,这些数据是先推送到苹果的服务器中,然后通过苹果的APN服务器推送到用户手机上的。安卓的所有应用都可以在后台运行,除非用户自己手动操作或者内存不足才会关闭,android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机,每个app都有自己的进程,每个进程都有自己的内存空间。服务进程:这个相信大家都熟悉,也就是我们常说的service,能够运行在后台,常见的有音乐类的app;

2401_84140816的博客 876

华南理工大学-大学物理实验-绪论作业

3.用公式测量某圆柱体铝的密度,测得直径=2.0420.003(cm),高=4.1260.004(cm),质量=36.4880.006(g)。计算铝的密度和测量的标准差,并以测量结果表达式表示之。(要求判别和剔除异常数据)(30分)(了解图解法的注意事项,大学物理实验众多实验数据处理采用这种方法,如PN结温度特性研究,光电效应与普朗克常数的测定,霍尔效应测磁场等等,注意规范作图)实验测得温度与对应的金属丝的长度的数据如下表所示。(了解异常数据的判断方法及具体判断过程,30分的题目n(*≧▽≦*)n)

mohen_777的博客 581

APP测试中ios和androis的区别,有哪些注意点_苹果和安卓沙盒区别(1)

IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。概念:沙盒是一种安全机制,用于防止不同应用之间互相访问作用:就是存储数据,每个沙盒就相当于每个每个应用的系统目录核心:sandbox对应用程序执行各种操作的权限限制描述:每个应用都有自己对应的沙盒,应用的活动范围都限定在自己的沙盒里每个应用程序之间不能相互访问非本程序的沙盒( APP之间不能相互通,唯独可以通过URL Scheme可以通信)在访问别人沙盒内的数据时需要访问权限,应用程序请求的数据都要通过权限检测,不符合条件的话,不会被放行。

2401_84140816的博客 1030

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

后台开发 vs App应用开发?

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢! 原文链接地址:后台开发 vs App应用开发? 最近很多老铁从app转做后台了,说app招聘的太少了,基本混合开发一出,app原生开发需求越来越少。本身一个公司安卓可能2人以上,ios可能始终就是一个人。 App应用开发成果显著,能够激励自己进步,比较好玩。优势是能够自己独立开发应用,有...

IT架构圈博客 2978

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

终极指南:remotely-save移动端后台同步实现 - iOS与Android深度解析

remotely-save是一款强大的Obsidian同步插件,支持多种云服务实现跨设备知识库同步。本文将深入探讨其在移动端的后台同步实现机制,特别是iOS和Android平台的技术细节。 ## 📱 移动端同步架构概述 remotely-save在移动端采用浏览器环境下的同步策略,通过Obsidian提供的API实现跨平台数据同步。由于移动端环境的特殊性,插件采用了独特的实现方式来确保同步的

gitblog_00918的博客 1357

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2GB资源下载不丢进度的跨平台实战方案

通过使用后台服务、持久化下载状态、处理系统限制和网络变化,可以实现游戏切后台后继续下载的能力。具体实现会因平台而异,需要根据目标平台的特性进行调整。好的,继续深入探讨如何在不同平台上实现游戏切后台后继续下载的能力。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 3166

安卓和iOS的区别

文章目录运行机制不同对app内存消耗的处理方式不同后台制度不同最高权限指令不同推送机制不同log日志的抓取方式不同灰度发版的机制不同审核机制不同其他测试相关 运行机制不同 IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。 沙盒机制: 概念:沙盒是一种安全机制,用于防止不同应用之间互相访问 作用:就是存储数据,每个沙盒就相当于每个每个应用的系统目录 核心:sandbox对应用程序执行各种...

xiadanying的博客 5367

安卓和iOS测试的区别

app测试中ios和Android的区别: 1、安卓手机针对每一款手机有不一样的操作;苹果手机操作习惯单一。 2、多分辨率测试,Android端20多种,ios较少; 3、操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash); 4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运

yaomeite的博客 6416

iOS和Android后台机制对比

转自:http://blog.youkuaiyun.com/zsch591488385/article/details/27232881 一、iOS的“伪后台”程序 首先,先了解一下ios中所谓的「后台进程」到底是怎么回事吧? Let me be as clear as I can be: the iOS multitasking bar does not contain "a list o...

dengguigu1986的博客 1541

ios后台和android后台区别 iOS/Android系统多任务浅析

iOS/Android多任务浅析   多任务,伪多任务。iOS与Aandroid操作系统的争论一直不休。双方的支持者都不甘示弱,都在谈,可谁又都谈不明白。     说到多任务,我们就不得不谈Pushmail。这是一个很经典的(伪)多任务,黑莓靠这个一度称霸北美市场。开启Pushmail的黑莓手机不是靠后台的 实施进程,而是通过消息提醒,类似现在的信息推送。这样的做法可以极大的减少电量的消耗,

guanyouan的专栏 4930

ios和android操作收拾,iOS和Android后台机制的比较

发件人:首先,让我们了解ios中所谓的“后台进程”是怎么回事吗?让我尽可能的清楚: iOS多任务栏不包含“所有正在运行的应用程序的列表”. 它包含“最近使用的应用程序列表”. 用户无需在iOS上管理后台任务.首先,我们必须弄清楚iOS中所谓的“驻留在后台”不是指“正在执行的程序”,而是“最近使用的程序”. 另请参阅Apple的知识库文章:按两次“主页”按钮后,将显示“最近使用的应用程序”,因此不要...

weixin_39941620的博客 1519

Android和ios的区别

一、系统区别 1、系统和框架结构 (1) Android系统的底层建立在Linux系统之上;而ios基于UNIX系统。 这一点就造成了Android与iOS的生态不同了,Android完全开源,任何软件开发商或者个人都能开发安卓的软件;ios完全封源开发。 Linux的大多数版本都开源,而Unix系统主要分为两个阵营:System V和BSD。商业版本的Unix一般属于System V阵营,通常是不开源的,如IBM的AIX系统,惠普的HP-UX系统等;而BSD阵营的版本...

weixin_44330336的博客 7万+

iOS和安卓各自优缺点和测试时区别

iOS和安卓各自优缺点: 1.运行机制:安卓是虚拟机运行机制,IOS是沙盒运行机制 安卓系统中应用程序的运行都是在虚拟的环境中运行的,运行方式是数据先传输到虚拟机,再由虚拟机传递到用户界面(简称UI)。而苹果IOS的沙盒运行机制则有一个相对规整的分隔控制,也就是相当于把每个应用程序放在自己的沙盒里进行文件的读取,每个沙盒都是相对独立的。沙盒模式使得每个应用程序都在自己的沙盒里进行,相互之间不能互访...

weixin_42256571的博客 7097

iOS 和 安卓的差别

iOS和安卓的差别 问题: 1.同样运行内存的手机,苹果的画质流畅,安卓卡顿? 2.当我们使用手机时,解锁、点击等操作iOS系统就表现出了流畅的一面,但Android产品却给人一种反应慢、不跟手的情况,这是为什么? 原因一 :“伪后台” 1.后台机制详细解析 众所周知,安卓手机一直都以“真后台”机制著称,“真后台”就是当你打开一个APP后,它会一直在后台运行,除非你主动去关

qq_36520854的博客 1723

Android与IOS后台机制比较

一、IOS的“伪后台”程序 首先,先了解一下iOS 中所谓的「后台进程」到底是怎么回事吧? Let me be as clear as I can be: the iOS multitasking bar does not contain "a list of all running apps". It contains "a list of recently used apps". The

zsch591488385的专栏 7248
上一篇: json字串和js对象之间互相转换
下一篇: 代码中执行sql语句访问mysql,无法匹配中文字符的问题
oLevin
博客等级 码龄14年 80粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值