iOS 程序进入后台,包括用户上拉快捷菜单导致程序失去活跃的研究

今日在使用某App时候,突然发现上拉菜单,程序视频扔在播放,咦!引起了我的兴趣。

首先,列出两个方法,

第一个方法是AppDelegate的代理,当程序进入后台时候调用

- (void)applicationDidEnterBackground:(UIApplication *)application NS_AVAILABLE_IOS(4_0);

第二个方法是,注册系统通知,name是UIApplicationWillResignActiveNotification,当程序释放活跃的时候调用。

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(applicationWillResignActive:)
                                                 name:UIApplicationWillResignActiveNotification
                                               object:nil];

开发者需要实现

- (void)applicationWillResignActive:(UIApplication *)application

下面是常见的几种程序进入后台,或者失去活跃的操作。

1. 点击home键,程序进入后台:先调用 applicationWillResignActive,再调用applicationDidEnterBackground

2. 双击home键,程序进图标入任务管理器:只调用applicationWillResignActive。如果你点击别的程序,那么别的程序进入前台,本App调用applicationDidEnterBackground

3. 上拉,下拉菜单,程序仍在前台:只调用applicationWillResignActive

在【网易新闻】App上看视频的时候,【网易视频】只是对第一种情况进行处理,即暂停视频;而剩余的情况都不做处理,视频继续播放。

这个应该是对用户交互细化,引起我的兴趣。有时候,我只是使用一下上拉快捷菜单做一些简单的开关,比如:打开手电筒、打开wifi、关闭旋转等。不希望后面的视频停止。现在市面上有些App,对这三种情况都是先暂停,前台再恢复,但是视觉上还是会卡一下。

(待完善)

时间: 2024-10-13 17:37:29

iOS 程序进入后台,包括用户上拉快捷菜单导致程序失去活跃的研究的相关文章

iOS 程序进入后台,包含用户上拉快捷菜单导致程序失去活跃的研究

今日在使用某App时候,突然发现上拉菜单.程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理.当程序进入后台时候调用 - (void)applicationDidEnterBackground:(UIApplication *)application NS_AVAILABLE_IOS(4_0); 第二个方法是.注冊系统通知,name是UIApplicationWillResignActiveNotification,当程序释放活跃的时候调用.

给view添加类似系统上拉快捷菜单的手势

iOS7以后从屏幕最下方上划会滑出快捷菜单,感觉这个效果不错,就想做个类似的效果,这个东西技术含量不高,每次都写一遍的话就太浪费时间了,所以就把它写成了一个分类,用起来会方便一点. demo地址:https://github.com/Phelthas/TEST_XMLCommon 使用效果如下: (注:动画使用了facebook的pop) 实现方案: 1,用分类的方式给view添加了一个 - (void)addPanGestureWithEndFrame:(CGRect)endFrame;的方法

iOS开发项目篇—32添加上拉刷新数据

iOS开发项目篇—32添加上拉刷新数据 一.简单说明 图片示意 思路:可以自定义一个view(示意xib),在view中添加一个label和菊花,指示状态.把这个view设置为tableView的底部视图. 二.实现过程 1.新建一个类和xib,关联 (1)创建一个类,让其继承自UIView (2)创建一个xib文件,用来定义上拉提示框 (3)定义的xib文件,把类和xib文件进行关联 2.实现代码: YYlaodStatusesFooter.h文件 1 // 2 // YYlaodStatus

iOS之NSArray类簇简介-(copy、mutableCopy导致程序crash)

1.前言 开发时常常用数组对数据进行处理,对NSMutableArray进行操作时经常导致程序崩溃,特研究一下NSArray的类簇!涉及__NSPlaceholderArray.__NSArray0.__NSSingleObjectArrayI.__NSArrayI.__NSArrayM相关类. 2.分析NSArray 2.1.创建不可变出租 NSArray *placeholder = [NSArray alloc]; NSArray *arr1 = [placeholder init]; N

ios开发-程序压后台后,悄悄的抓取数据~~

我们使用某个app的时候,当我们将程序压到后台之后,我们希望它还能从服务器抓取一些数据,类似微博,微信,qq这些程序压后台 之后,我们依然能看到icon上显示未读数量.但是ios系统是伪多任务操作系统. 当我们将程序压后台之后,大概过1分钟,程序就会被关闭.就不能抓取数据了.很久之前的做法是:压后台之后,播放一个没有声音 的音频,保证程序存活.然后苹果很快发现了这种方法,并禁止了.我们用这种方法提交审核之后,一般都会被苹果驳回.当然,苹果 依然很贴心的给我提供了相应的解决办法.(使用swift演

ios 上拉加载下拉刷新Dome

为练手写了一个小的上拉加载更多下拉刷新的小的Dome . 没有太多的技术含量,只是作为新手的启发用.是上一篇下拉加载的扩展.先看一下那个再看这个就容易很多. Dome下载:http://download.csdn.net/detail/u010123208/8062715 先来梳理一下: 上拉家在更多就是上拉之后在底部现实一个视图,用来提示用户上拉加载更多,如果用户上拉就出发事件,进行加载并在试图中给予提示,同时后台加载数据,将添加的数据加入数据数组,最后重新导入列表: 下拉刷新同样的操作,只不

小程序 上拉刷新/下拉加载

小程序项目中上拉刷新下拉加载是比较常见的需求,官方文档也提供了相当友好的API,但是因为API隐藏的比较深,文档描述也比较模糊所以也折腾了一番(官方文档),在此记录一下使用方式 onPullDownRefresh()  //用户下拉刷新事件,onReachBottom() //用户上拉触底事件 onPullDownRefresh和onReachBottom是小程序的页面事件,官方文档描述"需要在app.json的window选项中或页面的json文件中开启enablePullDownRefres

Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件

前言 下拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采用这种方式.对于开发效率而言,使用获得大家认可的开源库必然是效率最高的,但是不重复发明轮子的前提是你得自己知道轮子是怎么发明出来的,并且自己能够实现这些功能.否则只是知道其原理,并没有去实践那也就是纸上谈兵了.做程序猿,动手做才会遇到真正的问题,否则就只是自以为是的认为自己懂了.今天这篇文章就是以自己重复发明轮子这个出发点而来的,通过实现经典.使用率较高的组件来提高自己的认识.下面我们就一起来学习吧. 整体布局结构      

Android PullToRefresh 下拉刷新,上拉更多,支持ScrollView,ListView,可方便拓展GridView,WebView等

在写着东西之前,从网上找到很多这方面的源码,但是基本没有找到满意的,包括在GitHub上的比较有名的Android-PullToRefresh-master,思来想去还是自己写吧,当然其中借鉴了一些别的开源代码! 废话不多说,直接上代码,注释很全乎,应该不难理解,Demo下载地址在最后: package com.zs.pulltorefreshtest; import android.content.Context; import android.util.AttributeSet; impor