首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UIApplicationDelegate

比如,你用这些方法来响应APP的状态,比如APP从前台转向后台,进来通知。在许多场合,app delegate的方法是唯一途径来接受这些重要的通知。...app delegate 扮演了以下关键角色 它包含了APP的启动代码 它会响应APP的状态改变,特别地,它会响应暂时的中断以及应用程序执行状态的变化,例如当您的应用程序从前台转换到后台时。...二、开启APP 启动APP是APP整个生命循环的重要节点,在启动时,app delegate接到响应去执行自定义的初始化的代码。比如,建立数据结构,注册任何需要的服务。...一旦进入这个状态,APP应该把自己置于静止状态,期望很快就会转变到后台或活动状态。 活动(Active) APP在前台运行,并接收事件。 这是前台应用程序的正常模式。...处于活动状态的APP没有特别的限制。 这是前台APP,应该对用户作出响应。 后台(Background) APP正在执行代码,但在屏幕上不可见。

73130

推送-推送原理性说明

而当设备处于非联网状态的时候,APNs服务器会保留Provider所推送的最后一条通知,当设备转换为连网状态时,APNs则把其保留的最后一条通知推送给我们的设备;如果设备长时间处于非联网状态下,那么APNs...deviceToken的生成 当一个App注册接收远程通知时,系统会发送请求到APNs服务器,APNs服务器收到此请求会根据请求所带的key值生成一个独一无二的value值也就是所谓的deviceToken...推送通知本身是 iOS 系统的行为,所以在 App 没有运行(没有在前台也没有在后台)的时候:仍然能够推送及接收(通知中心通知、顶部横幅、刷新 App 右上角的小圆点即 badge [以下简称角标] 等都会由系统来控制和展示...但是收到推送时,是无法在 App 的代码中获取到通知内容的。因为沙盒机制,此时 App 的任何代码都不可能被执行。...如果注册成功,则可以在 AppDelegate.m 的如下方法中获取到 deviceToken,它是对 该手机+该App 组合的一个唯一标识,当使用远程推送时,只需将推送消息发给指定的 deviceToken

3.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    速读原著-Android应用开发入门教程(Android应用程序的概念性描述)

    运行活动的情景:当一个活动被启动时,活动中的 onCreate()、onStart()和 onResume()这 3 个方法被依次调用,活动对应的界面出现在屏幕上。...活动被“覆盖”的情景:Android 的活动一般都占据一个完整的屏幕,从当前活动启动另外一个活动时,另一个活动将被启动到前台(Foreground),当前活动转入后台(Background),这时活动的...在转入后台时,onStop()是否被调用取决于活动是否被完全覆盖,在新的活动有透明部分时,转入后台的活动依然“可见”,其他情况下(较多数的情况)活动均进入不可见状态(被完全覆盖)。...使用 StartService 运行服务的情景:使用这种方法启动服务,服务的 onCreate()和 onStart()这两个方法将被调用,服务会在后台运行直到退出,退出时将调用 onDestroy()...广播接收器只有在这个方法的执行过程中才处于活动状态,当 onReceive()返回后,广播接收器将不再处于活动状态。广播接收器的功能类似于一个回调函数,只是单次运行时处于活动状态。

    1K10

    【Android开发基础系列】Android开发学习专题

    Activity被“覆盖”的情景:Android的Activity一般都占据一个完整的屏幕,从当前Activity启动另外一个Activity时,另一个Activity将被启动到前台(Foreground...Service的生命周期 使用StartService运行服务的情景:使用这种方法启动服务,服务的onCreate()和onStart()这两个方法将被调用,服务会在后台运行直到退出,退出时将调用...广播接收器只有在这个方法的执行过程中才处于活动状态,当onReceive()返回后,广播接收器将不再处于活动状态。广播接收器的功能类似于一个回调函数,只是单次运行时处于活动状态。...如果没有调用finish()函数,第二个活动启动时,第一个活动就处于OnPause状态,当第二个活动退出后,第一个活动重新出现,也就是会调用活动的onResume()函数。...5.4.2 带有返回值的跳转         在某些时候,从跳转的对象返回时,跳转源头需要得到其返回的结果,这样两个屏幕才可实现一些交互。

    33320

    Android 13 适配指南

    ❞ Intent 过滤器会屏蔽不匹配的 intent 当 App 以 Android 13(33) 或更高版本为 Target 的其他应用的导出组件发送 intent 时,仅当该 intent 与接收应用中的...❞ 系统只有在安全的情况下才会触发撤消操作,也就是当有应用组件仍在前台运行,或者有另一个应用正在访问你应用的组件(如 content provider)时不会发生撤消。...前台服务 (FGS) 任务管理器 Android 13 的新前台服务( Foreground Services:FGS)任务管理器显示当前运行前台服务的应用程序列表,此列表称为活动应用程序,可以通过下拉通知抽屉并点击启示来访问...❝注意:当用户点击应用旁边的停止按钮时,系统会停止整个应用,而不仅仅是正在运行的前台服务。...对于应用在以下情况下可以执行的操作制定了新限制:用户因你应用的后台电池用量过高而将其置于“受限”状态。 新增了系统通知,用于就电池用量过高和长时间运行的前台服务向用户发出警告。

    5.2K31

    Android面试题大全

    其他应用可以通过ContentResolver类 从该内容提供者中获取或存入数据。 只有需要在多个应用程序间共享数据是才需要 内容提供者。...在 Android 系统中,广播体现在方方面面,例如:当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作...也就是说哪怕 app 本身未启动,该 app 订阅的广播在触发时也会对它起作用。( 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。...A 得到广播后,可以往广播里存入数据,当广播传给 B 时,B可以从广播中得到 A 存入的数据 总结: 当广播为有序广播时: 优先级高的先接收 同优先级的广播接收器,动态优先于静态 同优先级的同类广播接收器...Android进程与线程 进程 前台进程 可见进程 服务进程 后台进程 空进程 前台进程 // 前台进程 当前进程activity正在与用户进行交互。

    1.3K50

    Activity 的 36 大难点,你会几个?「建议收藏」

    / 可见 / 服务 / 后台 / 空 5.1.1 前台进程:Foreground process 用户正在交互的 Activity( onResume() ) 当某个 Service 绑定正在交互的...举例来说,这可能发生在,如果一个前台活动在一个对话框(其他进程的)运行之后仍然是可视的,比如输入法的弹出时。 寄宿着一个服务,该服务绑定到一个可视的活动。...一个可视进程被认为是及其重要的且不会被杀死,除非为了保持前台进程运行。 5.3 服务进程 服务进程是通过 startService() 方法启动的进程,但不属于前台进程和可见进程。...例如,在后台播放音乐或者在后台下载就是服务进程。 系统保持它们运行,除非没有足够内存来保证所有的前台进程和可视进程。...android 进程的回收顺序从先到后分别是:空进程,后台进程,服务进程,可见进程,前台进程。

    79620

    Android 各版本特性

    当一个 Activity 处于 PIP 模式时,其实它是出在暂停状态,但其内容会继续展示。...APP必须拥有FOREGROUND_SERVICE权限,才允许使用前台服务,否则会抛出异常。...后台服务(Background Service)限制 当进程处于后台1分钟后会进入idle状态,系统停止其后台服务,也就意味着应用处于后台必须1分钟内处理完收尾工作,不允许在后台长时间监控系统,从而节省功耗...;对于应用后台执行用户不可感知的操作,官方推荐使用JobScheduler 后台进程不允许通过startService方式启动服务,否则当targetSdk>=26的情况下会抛出IllegalStateException...Android O新增startForegroundService(),用于启动前台服务,但有一个限制条件就是应用必须服务启动后5秒之内调用startForeground(),否则会抛出ANR 广播(Broadcast

    1.4K10

    小程序架构

    ,会触发 onLaunch(全局只触发一次) onShow Function 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow onHide Function 生命周期函数...当小程序后台运行或跳转到其他页面时,触发onHide方法。 当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。...结束状态:页面被回收或者销毁、应用被系统回收、销毁时触发。 服务线程五大状态: 初始化状态:此阶段仅启动服务线程所需的基本功能,比如信号发送模块。...当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。 当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法。...假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动

    1.9K30

    iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存。 下图是程序状态变化图: ?...所以要设置后台继续运行,则在这个函数里面设置即可 - (void)applicationWillEnterForeground:(UIApplication *)application 当程序从后台将要重新回到前台时候调用...按锁屏键也是另外一种程序的中断,当你按下锁屏键,系统屏蔽了所有触摸事件,把app放到了后台,这时app状态是 inactive,并进入后台。 3.2 当有这些中断时,我们的app该怎么办呢?...去掉任何系统引用的缓存图片 去掉系统管理数据缓存强引用 5 、返回前台运行 流程如图所示: ? 当app处于挂起状态时,它是不能执行任何代码的。...UIApplication对象在程序启动时启动main run Loop,它处理事件和更新视图的界面。看Main Run Loop就知道,它是运行在程序的主线程上的。

    4.9K111

    笔记(24)安卓各版本特性简述

    (动态请求权限) 当targetSdkVersion >= 23时 分位Normal Permissions和Dangerous Permissions。...通过机器学习预测你在回复消息时可能会说些什么。 用户隐私。给用户更多应用程序控制权。提供仅这一次、应用使用时授权等选择。 ART优化。...2.请求位置权限(位置权限不能和别的权限同时请求,并且建议前台位置权限和后台位置权限分开请求) 3.软件包可见性(限制app不去访问别的应用的包名及内容,如果需要访问则可以在manifest文件中添加对应应用的...4.自定义toast不能在应用处于后台的时候弹出 5.APK签名变更(仅通过v1验证的应用无法在andoird11以上版本安装或更新) 6.异步任务AsyncTask已不建议使用,建议使用kotlin协程...从Android 12 系统开始,所有应用的冷启动和温启动期间,系统会使用新的 SplashScreen API 来启动应用启动动画。

    67310

    Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?

    在 Android12(API级别31)及更高版本的设备上,系统对短时间运行的前台服务进行了优化。系统会等待10秒,然后才显示与前台服务相关联的通知,以改善用户体验,减少即时通知的干扰。...前台服务类型是在 Android10 引入的,通过 android:foregroundServiceType 可以指定 的服务类型,可供选择的前台服务类型有: camera:需要在后台时继续访问摄像头...系统会查找能够处理这个操作的组件,并启动它们。隐式 Intent 主要用于在应用程序内或与其他应用程序之间触发各种操作,如启动活动、启动服务、发送广播等。...2.5 后台启动 Activity 新增限制 在 Android14 上系统进一步限制了 App 从后台启动 Activity 的情况: 当 App 使用 PendingIntent#send() 或类似方法发送...当一个前台可见应用使用 bindService() 方法绑定另一个后台应用的 Service 时,这个可见应用现在必须选择是否将自己的后台 Activity 启动权限授予被绑定的服务。

    17.1K30

    Android实现进程保活方案解析

    Android 8.0 进一步加强了应用后台执行限制:一旦应用进入已缓存状态时,如果没有活动的组件,系统将解除应用具有的所有唤醒锁。...Android 9.0 进一步改进了省电模式的功能并加入了应用待机分组,长时间不用的 App 会被打入冷宫;另外,系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用的后台活动。...白色保活 用startForeground()启动前台服务,这是官方提供的后台保活方式,不足的就是通知栏会常驻一条通知,像360的状态栏。...黑色保活 1 像素activity保活方案,监听息屏事件,在息屏时启动个一像素的activity,提升自身优先级; Service中循环播放一段无声音频,伪装音乐app,播放音乐中的app优先级还是蛮高的...3、实现过程: 1)、用startForeground()启动前台服务 前台Service,使用startForeground这个Service尽量要轻,不要占用过多的系统资源,否则系统在资源紧张时,照样会将其杀死

    9.4K30

    应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

    接下来,我们需要了解下Android系统回收内存中的进程所依据的规则: 进程在内存中时活动主要有五种状态:即前台进程、可见进程、服务进程、后台进程、空进程,这几种状态的进程优先级由高到低,oom_adj...分析: 1)当"咕咚"处于停止状态时,一键清理和黑屏状态会被杀死,说明在没有进入运动界面之前,其保活机制没有被启动(即没有使运动界面切换到后台等); 2)当“咕咚”处于运动状态时,一键清理和黑屏状态没有被杀死...分析: 当"乐动力"处于停止状态时,黑屏状态下,其在短时间内被系统杀死,说明保活机制没有启用; 但当处于运动暂停或进行状态时,"乐动力"在一段时间内没有被杀死,且当锁屏时,"乐动力"会自动将运动界面切换到前台...各机型测试情况如下: 1)华为Mate8(Android 7.0):将测试APP置于后台,前台Service在黑屏状态下1分钟之内被干掉,"1像素"悬浮Activity在黑屏状态下测试2小时依然存活,...和1像素,KeepAppAlive在黑屏后台模式下存活9个小时以上,看样子原生系统还是温柔些;开启后台播放音频服务,用户一键清理最近应用成功保活; 3)华为4X(Android 6.0):效果同C9;

    4.2K21

    Android7.0新特性

    启用该模式,系统将拦截后台数据使用,在适当的情况下减少前台应用使用的数据量,通过配置厂商白名单可以让应用免受该模式的影响。...支持Java8 Java8的支持使得可以在Android开发者使用Lambda表达式 后台省电 屏幕关闭后后台进程将会被系统限制活动。...上,当点击我们的App时,onResume才会执行,当操作另外一个界面又会走onPause。...禁用多窗口模式 在targetSdkVersion大于24时在清单文件中加入resizeableActivity=false这个属性当开启多窗口模式时会提示用户该应用不支持多窗口; 在小于24的情况下是通过设置禁用横竖屏切换属性来设置不支持多窗口模式的...同时,它可以最大程度降低对设备电池的影响,能够使系统更省电,因为仅当设备处于空闲状态和充电时才进行编译。

    39620

    Android后台杀死系列之三:LowMemoryKiller原理(4.3-6.0)

    ,就像AMS完全不知道一个APP是否被后台杀死,只有在AMS唤醒APP的时候,才知道APP是否被LowMemoryKiller杀死过。...服务进程 正在运行已使用 startService() 方法启动的服务且不属于上述两个更高类别进程的进程。...尽管服务进程与用户所见内容没有直接关联,但是它们通常在执行一些用户关心的操作(例如,在后台播放音乐或从网络下载数据)。...空进程 不含任何活动应用组件的进程。保留这种进程的的唯一目的是用作缓存,以缩短下次在其中运行组件所需的启动时间,这就是所谓**热启动 **。...,init.rc里配置的服务是在开机时启动的,来看看lmkd服务的入口:main函数 lmkd.c函数 int main(int argc __unused, char **argv __unused

    1.8K50

    【Android编程实战】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗

    我想让用户在启动软件时只看到无害的活动,从而隐藏软件的真实意图,那么要如何实现呢 我可以预先启动Attack类,紧接着启动Innocent类,这样用户在页面上只能看见最顶层的Innocent类,而不是恶意活动...启动之后才被启动,在活动先后顺序上,Innocent在最顶层 所以用户最终看到的活动只有Innocent这个无害活动 而Attack启动时取消了过度动画,除了个别机型会有稍微闪动外,在启动时无明显变化,..._2时,任务栈Task_1也就随着Activity_2到达前台 但Activity_1的allowTaskReparenting属性为true,根据官方文档的解释,该活动能从后台转移至与其有相似性的任务...,也就是同样转移至Task_1, 而此时Task_1已经在前台了,相当于Activity_1在Activity_2启动之后也启动了,从而到达了最顶层,而用户最终看到的活动也就是Activity_1了 理解完...接着使恶意活动的allowTaskReparenting属性为true,这样就能在合法应用中的活动转至前台时,使得恶意活动同样转至前台 至此,整个攻击流程结束 0x03 漏洞利用及其危害 在0x01中

    2.9K40

    Android之Activity生命周期浅析(一)「建议收藏」

    当然从流程图,我们也可以看出当Activity停止后(onPause方法和onStop方法被调用),重新回到前台时也会调用onResume方法,因此我们也可以在onResume方法中初始化一些资源,比如重新初始化在...同样地,在onStop方法可以做一些资源释放的操作(不能太耗时)。 onRestart :表示Activity正在重新启动,当Activity由不可见变为可见状态时,该方法被回调。...; } /** *Activity创建或者从后台重新回到前台时被调用 */ @Override protected void onStart() { super.onStart...; } /** *Activity创建或者从被覆盖、后台重新回到前台时被调用 */ @Override protected void onResume() {...当Activity重新回到前台(从桌面回到原Activity或者被覆盖后又回到原Activity)时,onRestart(),onStart(),onResume()会依次被调用。

    48510

    Android 12的行为变更和版本兼容思路

    这样,当PendingIntent从其包含的内容中取消打包时 Intent,应用程序组件可以PendingIntent使用调用进程的身份来启动。...表现 前台服务启动限制 除少数特殊情况外,以Android 12为目标的应用程序无法在后台运行时启动前台服务。如果应用程序在后台运行时尝试启动前台服务,则会发生异常(少数特殊情况除外)。...考虑在您的应用程序在后台运行时使用 WorkManager安排和开始工作。 要了解有关您的应用如何受到影响以及如何基于这些更改来更新应用的更多信息,请阅读有关前台服务启动限制的指南。...无法从服务或广播接收者创建Notification trampolines 当用户与通知交互时 ,某些应用程序会通过启动应用程序组件来响应通知点击,该组件最终会启动用户最终看到并与之交互的活动。...当您的应用尝试从充当通知蹦床的服务或广播接收器启动活动时,系统会阻止该活动启动,并且Logcat中会显示以下消息 : Indirect notification activity start (trampoline

    4.6K10

    小程序 | 4-生命周期

    参数:与 wx.getLaunchOptionsSync 一致 onShow(Object object) 小程序启动,或从后台进入前台显示时触发。也可以使用 wx.onAppShow 绑定监听。...参数:与 wx.onAppShow 一致 onHide() 小程序从前台进入后台时触发。也可以使用 wx.onAppHide 绑定监听。...参数:与 wx.onError 一致 小程序的生命周期函数在 app.js 文件的 App 节点中声明和使用。 3. 注册小程序实例 即启动流程中的 注册 App() ....因为 App() 实例只有一个,并且是全局共享的(单例对象)。所以我们可以将一些共享数据放在其中的 globaldata 节点中。 小程序后台存活时间、启动场景分类 3.1. 如何确定场景?...这种方式仅做展示,无法传递给我们自己的函数。 ? 3.4. 注册实例时定义全局变量 ? ----

    67240
    领券