本文主要介紹iphone性能優(yōu)化軟件(ios性能優(yōu)化總結(jié)),下面一起看看iphone性能優(yōu)化軟件(ios性能優(yōu)化總結(jié))相關(guān)資訊。
應(yīng)用功耗源
單cpu處理
2-網(wǎng)絡(luò)
3-定位
4-圖像
功耗優(yōu)化
1-盡可能降低cpu和gpu的功耗。
2-少用定時(shí)器
3-優(yōu)化i/o操作
①盡量不要頻繁讀寫小數(shù)據(jù),最好一次性批量讀寫。
②在讀寫大量重要數(shù)字時(shí),可以考慮使用dispatch_io,它提供了一個(gè)基于gcd異步操作文件i/o的api,使用dispatch_io系統(tǒng)會(huì)優(yōu)化磁盤。
③數(shù)據(jù)量比較大的時(shí)候,建議使用數(shù)據(jù)庫(kù),比如sqlite,coredata。
4-網(wǎng)絡(luò)優(yōu)化
①減少和壓縮網(wǎng)絡(luò)數(shù)據(jù)。
②如果多次請(qǐng)求的數(shù)據(jù)相同,建議使用緩存。
③使用斷點(diǎn)繼續(xù)傳輸。
④唐 當(dāng)網(wǎng)絡(luò)不可用時(shí),不要嘗試執(zhí)行網(wǎng)絡(luò)請(qǐng)求。
⑤為用戶提供一個(gè)可以取消長(zhǎng)時(shí)間操作或網(wǎng)速變慢的網(wǎng)絡(luò)操作;或者設(shè)置適當(dāng)?shù)某瑫r(shí)。
⑥批量傳輸
例如,當(dāng)下載視頻流時(shí),不要 不要傳輸小數(shù)據(jù)包,只需下載整個(gè)文件或成塊下載。
再比如下載廣告和郵件。可以選擇一次性批量下載,然后慢慢展示。
5-定位優(yōu)化
①如果你只需要快速定位用戶 你現(xiàn)在的位置。;最好使用cllocationmanager的requestlocation方法。定位完成后,定位硬件將斷電。
②如果不是導(dǎo)航應(yīng)用,盡量不要實(shí)時(shí)更新位置。
③降低定位精度。例如,唐 t使用精確度最高的kcllocationaccuracybest。
④盡量不使用startmonitor significant location changes,優(yōu)先使用startmonitoringforregion。
6-硬件檢測(cè)優(yōu)化:用戶移動(dòng)、搖晃或傾斜設(shè)備時(shí)生成的動(dòng)作事件。
(1)這些事件是由加速度計(jì)、陀螺儀、磁力計(jì)等硬件檢測(cè)到的,這些硬件在不需要的時(shí)候要及時(shí)關(guān)閉。
① dyld方面
減少動(dòng)態(tài)庫(kù),合并一些動(dòng)態(tài)庫(kù),定期清理不必要的動(dòng)態(tài)庫(kù)。
減少objc類和分類的數(shù)量,減少選擇器的使用,定期清理不必要的類和分類。
減少c虛函數(shù)的數(shù)量
斯威夫特試圖使用結(jié)構(gòu)。
②運(yùn)行時(shí)方面
用initialize method和dispatch_once替換所有__attribute_((構(gòu)造函數(shù)))、c靜態(tài)構(gòu)造函數(shù)和objc load方法。
③主要功能。
存在在不影響用戶體驗(yàn)的前提下,盡量延遲一些操作,不要 不要把它們都放在finishlaunching方法中。
按需加載
app冷啟動(dòng)大致可以分為三個(gè)階段。
1-dyld(動(dòng)態(tài)鏈接編輯器)app的動(dòng)態(tài)鏈接器用于加載mach-o文件(可執(zhí)行文件、動(dòng)態(tài)庫(kù)等。).dyld在啟動(dòng)應(yīng)用程序時(shí)要做的是
①加載app的可執(zhí)行文件,所有依賴的動(dòng)態(tài)庫(kù)同時(shí)遞歸加載。
(2)當(dāng)可執(zhí)行文件和動(dòng)態(tài)庫(kù)全部加載后,會(huì)通知運(yùn)行時(shí)進(jìn)行進(jìn)一步處理。
2 -運(yùn)行時(shí)間.運(yùn)行時(shí)在啟動(dòng)應(yīng)用程序時(shí)應(yīng)該做的事情如下
①調(diào)用map_images解析處理可執(zhí)行文件的內(nèi)容。
②調(diào)用load_images中的load_methods,調(diào)用所有類和類別的load方法。
③初始化各種objc結(jié)構(gòu),比如注冊(cè)objc類,初始化類對(duì)象。
④調(diào)用c靜態(tài)初始化器和__attribute_((構(gòu)造函數(shù)))修飾的函數(shù)。
到目前為止,可執(zhí)行文件和所有符號(hào)(類、協(xié)議、選擇器、imp...)已被添加到內(nèi)存中并由運(yùn)行時(shí)管理。
3-啟用主功能
結(jié)論:app的啟動(dòng)由dylan主導(dǎo),運(yùn)行時(shí)負(fù)責(zé)加載到objc定義的結(jié)構(gòu)中。所有初始化操作完成后,dylan會(huì)調(diào)用main函數(shù)。
標(biāo)簽:
動(dòng)態(tài)可執(zhí)行文件
了解更多iphone性能優(yōu)化軟件(ios性能優(yōu)化總結(jié))相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。
硬盤是什么樣的好用,什么樣的硬盤好用
聯(lián)想的硬盤怎么樣,聯(lián)想的移動(dòng)硬盤怎么樣啊
5000元電腦配置推薦(5000元電腦主機(jī)配置清單)
三星s4怎么查使用的那款cpu,三星note4怎么查看是什么處理器
什么樣的筆記本記筆記好,筆記記在書上好還是筆記本上好
iphone性能優(yōu)化軟件(ios性能優(yōu)化總結(jié))
蘋果ios13信任軟件怎么設(shè)置不了(蘋果ios13信任軟件怎么設(shè)置的)
筆記本電腦的配置怎么查看,如何查看筆記本電腦的硬件配置
手機(jī)p圖軟件免費(fèi)版(可以免費(fèi)p圖的手機(jī)軟件)
大數(shù)據(jù)工程師證怎么報(bào)考,如何成為大數(shù)據(jù)工程師
電腦系統(tǒng)重裝用那個(gè)軟件好(電腦重裝系統(tǒng)用什么軟件最好)
詳解qq自動(dòng)回復(fù)怎么設(shè)置不了(qq自動(dòng)回復(fù)該怎么設(shè)置)
win10 壓縮包已損壞或壓縮格式未知(win10自帶的壓縮軟件損壞)
臺(tái)式機(jī)裝2.5寸固態(tài)硬盤,2.5寸固態(tài)硬盤接臺(tái)式機(jī)需供電嗎
win7正版軟件多少錢(win7正版操作系統(tǒng)多少錢)
怎么讓手機(jī)顯示流量,oppo手機(jī)顯示流量在哪設(shè)置
內(nèi)存條長(zhǎng)啥樣,內(nèi)存型號(hào)及價(jià)格
電腦顯示磁盤空間不足如何處理,電腦總是顯示磁盤空間不足怎么辦
qq音樂會(huì)員怎么取消自動(dòng)續(xù)費(fèi)2020(最新qq音樂會(huì)員怎么取消自動(dòng)續(xù)費(fèi))
微博故事訪客取消了嗎2021(微博故事訪客取消了嗎2020)