// 正常程序退出后,会在几秒内停止工作: // 要想申请更长的时间,需要用到 // beginBackgroundTaskWithExpirationHandler // endBackgroundTask // 一定要成对出现 - (void)applicationDidEnterBackground:(UIApplication *)application { [self beginTask]; //在非主线程开启一个操作在更长时间内执行: 执行的动作 aa =0; _timer = [N…
什么是GCD Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法.该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中.GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术. GCD和block的配合使用,可以方便地进行多线程编程. 应用举例 让我们来看一个编程场景.我们要在iPhone上做一个下载网页的功能,该功能非常简单,就是在…
默认情况下,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让app最多有10分钟的时间在后台运行.这个时间可以用来做清理本地缓存,发送统计数据等耗时工作. // AppDelegate.h文件 @property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUp…
本从实践出发简单说明: 首先,gcd是Grand Central Dispatch的缩写,意为多线程优化技术,是苹果为多核处理优化的技术.使用简单.清晰. 多线程就分同步.异步方法如下: //异步线程开启: dispatch_async(dispatch_queue_t queue, ^(void)block) //同步线程开启: dispatch_sync(dispatch_queue_t queue, ^(void)block) //dispatch_queue_t:队列 block:执行内…
如果打回来了,就自认倒霉吧 制作无声音频. @interface AppDelegate () { NSInteger count; } @property(strong, nonatomic)NSTimer *mTimer; @property(assign, nonatomic)UIBackgroundTaskIdentifier backIden; - (void)applicationDidEnterBackground:(UIApplication *)application { _m…
使用block的另一个用处是可以让程序在后台较长久的运行.在以前,当app被按home键退出后,app仅有最多5秒钟的时候做一些保存或清理资源的工作.但是应用可以调用UIApplication的beginBackgroundTaskWithExpirationHandler方法,让app最多有10分钟的时间在后台长久运行.这个时间可以用来做清理本地缓存,发送统计数据等工作. 让程序在后台长久运行的示例代码如下: // AppDelegate.h文件 @property (assign, nona…
//在视图中运行操作中进行周期操作 - (void)applicationDidEnterBackground:(UIApplication *)application { [self beingBackgroundUpdateTask];   [self endBackgroundUpdateTask]; } - (void)beginBackgroundUpdateTask{ self.backgroundUpdateTask = [[UIApplication sharedApplicat…
UIWindow *window = [UIApplication sharedApplication].keyWindow; window 为nil的原因:在指定rootViewController之前,没有让window 先可视化 1.示例  为nil: self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whit…
1.首先开发插件:因为我的项目前需要所以要做(根据情况) 在项目的plugins文件中新建obj c文件.如 Demo,此时会产生出Demo.h和Demo.m两个文件. .h文件主要就是定义一些方法,类似java中的接口.(要继承CDVPlugin) .m文件是对h文件夹的实现,在插件执行时会进入相应的函数,切记:此函数要易执行长时的内容,此时uithread处于阻塞状态.不用我们可以启动一个线程在函数中,启动线的的的函数如下: NSThread *thread=[[NSThread alloc…
1.设置角标的代码:   // 从后台取出来的数据可能是int型的不能直接给badgeValue(string类型的),需要通过description转化  NSString *count = [responseObject[@"count"] description]; if ([count isEqualToString:@"0"]) { self.tabBarItem.badgeValue = nil; //设置tabBar的角标 [UIApplication…