AppDelegate
一、基礎(chǔ)知識(shí)
1)?main.m指定了程序的入口點(diǎn)
UIApplicationMain(argc, argv,nil,NSStringFromClass([StartingPointAppDelegateclass])); 2)?AppDelegate的入口點(diǎn)
3)?前臺(tái)和后臺(tái)程序切換執(zhí)行方法
- (void)applicationWillEnterForeground:(UIApplication *)application {} 程序?qū)⒅糜谇芭_(tái),程序啟動(dòng)的時(shí)候不會(huì)相應(yīng)此方法,而是按下home以后再次回復(fù)程序的時(shí)候響應(yīng)。- (void)applicationDidBecomeActive:(UIApplication *)application {} 程序已經(jīng)置于前臺(tái),程序剛啟動(dòng)也會(huì)響應(yīng)此方法。按下home以后再次回來也會(huì)響應(yīng)。
- (void)applicationWillResignActive:(UIApplication *)application {} 程序?qū)⒁顺龊笈_(tái),按下home以后,程序不會(huì)立即消失,系統(tǒng)會(huì)先調(diào)用此方法。
- (void)applicationDidEnterBackground:(UIApplication *)application {} 程序已經(jīng)置于后臺(tái)了,按home以后,程序完全消失會(huì)調(diào)用。
?
二、程序后臺(tái)運(yùn)行
1)在沒有使用GCD時(shí),當(dāng)app被按home鍵退出后,app僅有最多5秒鐘的時(shí)候做一些保存或清理資源的工作。但是在使用GCD后,app最多有10分鐘的時(shí)間在后臺(tái)長久運(yùn)行。這個(gè)時(shí)間可以用來做清理本地緩存,發(fā)送統(tǒng)計(jì)數(shù)據(jù)等工作。
注意:
???? 當(dāng)多程序切換的時(shí)候,程序不會(huì)被關(guān)閉,在系統(tǒng)規(guī)定的一段時(shí)間內(nèi)可以正常執(zhí)行。
???? 當(dāng)一個(gè)程序使用的內(nèi)存太大,而導(dǎo)致系統(tǒng)內(nèi)存不足的時(shí)候,程序會(huì)被關(guān)閉,任務(wù)會(huì)終止,直到下次啟動(dòng)程序,并退到后臺(tái)的時(shí)候,后臺(tái)任務(wù)才會(huì)重新執(zhí)行。
? ? 運(yùn)行的條件必須在軟件不被關(guān)閉的情況下可用。
2)?每隔一段時(shí)間,系統(tǒng)自動(dòng)執(zhí)行的任務(wù)(設(shè)置的值必須大于等于600)
注意:
? ? 當(dāng)多程序切換的時(shí)候,此任務(wù)也會(huì)被關(guān)閉。
? ? ?運(yùn)行的條件必須在軟件不被關(guān)閉的情況下可用
執(zhí)行的必要條件:
???? 找到程序的 plist 配置文件,增加:
???? 鍵:UIBackgroundModes 類型:Array
??? ?在 Item0 里面設(shè)置類型:String,值:voip
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/eileenleung/p/3505413.html
總結(jié)
以上是生活随笔為你收集整理的AppDelegate的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB 批量改文件名称
- 下一篇: (转载)DevExpress ASPxG