iOS app 后臺長時間甭啪茫活

廢話不多說,上代碼


- (void)applicationDidEnterBackground:(UIApplication *)application {

??// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.

??// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

???[self comeToBackground];

}

-(void)comeToBackground{

??//初始化一個后臺任務(wù)BackgroundTask,這個后臺任務(wù)的作用就是告訴系統(tǒng)當(dāng)前app在后臺有任務(wù)處理,需要時間

??UIApplication*?app = [UIApplication sharedApplication];

??self.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{

????[app endBackgroundTask:self.bgTask];

????self.bgTask = UIBackgroundTaskInvalid;

??}];

??//開啟定時器 不斷向系統(tǒng)請求后臺任務(wù)執(zhí)行的時間

??self.bgTimer = [NSTimer scheduledTimerWithTimeInterval:25.0 target:self selector:@selector(makeMoreTime) userInfo:nil repeats:YES];

??[self.bgTimer fire];

}

-(void)makeMoreTime {

??//如果系統(tǒng)給的剩余時間小于60秒 就終止當(dāng)前的后臺任務(wù)敏簿,再重新初始化一個后臺任務(wù),重新讓系統(tǒng)分配時間宣虾,這樣一直循環(huán)下去惯裕,保持APP在后臺一直處于active狀態(tài)。


??if ([UIApplication sharedApplication].backgroundTimeRemaining < 60) {


????[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];

????self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{


??????[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];

??????self.bgTask = UIBackgroundTaskInvalid;

????}];

??}

}

- (void)applicationWillEnterForeground:(UIApplication *)application {

??// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.

//回到前臺將用到的timer銷毀绣硝,很重要

??[self.bgTimer invalidate];

??self.bgTimer = nil;

??[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];

??self.bgTask = UIBackgroundTaskInvalid;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜻势,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子域那,更是在濱河造成了極大的恐慌咙边,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件次员,死亡現(xiàn)場離奇詭異败许,居然都是意外死亡,警方通過查閱死者的電腦和手機淑蔚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門市殷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刹衫,你說我怎么就攤上這事醋寝。” “怎么了带迟?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵音羞,是天一觀的道長。 經(jīng)常有香客問我仓犬,道長嗅绰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮窘面,結(jié)果婚禮上翠语,老公的妹妹穿的比我還像新娘。我一直安慰自己财边,他們只是感情好肌括,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酣难,像睡著了一般谍夭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鲸鹦,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天慧库,我揣著相機與錄音,去河邊找鬼馋嗜。 笑死齐板,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的葛菇。 我是一名探鬼主播甘磨,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眯停!你這毒婦竟也來了济舆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤莺债,失蹤者是張志新(化名)和其女友劉穎滋觉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齐邦,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡椎侠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了措拇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片我纪。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丐吓,靈堂內(nèi)的尸體忽然破棺而出浅悉,到底是詐尸還是另有隱情,我是刑警寧澤券犁,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布术健,位于F島的核電站,受9級特大地震影響粘衬,放射性物質(zhì)發(fā)生泄漏苛坚。R本人自食惡果不足惜比被,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泼舱。 院中可真熱鬧,春花似錦枷莉、人聲如沸娇昙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冒掌。三九已至,卻和暖如春蹲盘,著一層夾襖步出監(jiān)牢的瞬間股毫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工召衔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铃诬,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓苍凛,卻偏偏與公主長得像趣席,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子醇蝴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容