国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

iOS 性能優(yōu)化方案-弱網(wǎng)優(yōu)化

這篇具有很好參考價值的文章主要介紹了iOS 性能優(yōu)化方案-弱網(wǎng)優(yōu)化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、iPhone手機弱網(wǎng)環(huán)境配置

?

選擇現(xiàn)有網(wǎng)絡(luò)狀態(tài)

iOS 性能優(yōu)化方案-弱網(wǎng)優(yōu)化

或自定義網(wǎng)絡(luò)狀態(tài)

iOS 性能優(yōu)化方案-弱網(wǎng)優(yōu)化

設(shè)置參數(shù):

每個參數(shù)的含義大致如下:

in bandwidth?:下行帶寬

in packet loss?:下行丟包率

in delay?:下行延遲(ms)

out bandwidth?:上行帶寬

out packet loss?:上行丟包率

out delay?:上行延遲

DNS delay?:DNS解析延遲,這個功能安卓不知道怎么模擬

protocol?:協(xié)議--?可選Any、IPv4、IPv6

interface?:接口--可選ALL、WLAN、Cellular

二、優(yōu)化方案

1、必要的狀態(tài)呈現(xiàn)

1.1、無網(wǎng)絡(luò)提示

監(jiān)聽網(wǎng)絡(luò)狀態(tài)的改變,可用的?AFNetworking?的?AFNetworkReachabilityStatus。
無網(wǎng)絡(luò)狀態(tài)時,進行告知用戶的處理。

1.2、加載網(wǎng)絡(luò)請求前,添加“正在加載中的動畫”

如MBProgressHUD

1.3、加載網(wǎng)絡(luò)請求完成后,需要先移除網(wǎng)絡(luò)狀態(tài)動畫,并增加判定空數(shù)據(jù)處理。(判定是網(wǎng)絡(luò)原因,還是無數(shù)據(jù)的原因)

1.4、善用狀態(tài)切換的通知,為界面做出不同的變化。

在?2G、3G、4G、5G、WiFi等不同的網(wǎng)絡(luò)做出不同的狀態(tài)圖切換,或者交互切換。

2、網(wǎng)絡(luò)請求優(yōu)化

2.1、制定最合適的超時時間

對總讀寫超時(從請求到響應的超時)、首包超時、包包超時(兩個數(shù)據(jù)段之間的超時)時間制定不同的計算方案,加快對超時的判斷,減少等待時間,盡早重試。這里的超時時間還可以根據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)設(shè)定,例如在網(wǎng)絡(luò)狀態(tài)為?2G、3G、4G、5G、WiFi下設(shè)置不同的超時時間。

讓用戶可以取消長時間運行或者速度很慢的網(wǎng)絡(luò)操作。

2.2、多子模塊請求的“延遲性”

以用戶等待容忍度不超過?2s?為原則,像首頁這種多個業(yè)務模塊一起呈現(xiàn)的頁面,如果一次性請求完所有的接口數(shù)據(jù),會等待很久,所以可以對多子模塊,進行分段的“延遲”請求。

  • 優(yōu)先模塊:請求數(shù)據(jù)量少、業(yè)務上需要優(yōu)先顯示的。
  • 延后模塊:數(shù)據(jù)量大、類似列表的多條數(shù)據(jù),適合放置加載動畫,時長上用戶可接受性強,所以除了放在后面外,可做分頁處理、滑動后的延遲加載處理。

2.3、固定模塊加入緩存機制、或增量更新機制

對首頁及特定一級頁面進行數(shù)據(jù)緩存,在一定的有效時間內(nèi)再次請求可以直接從緩存讀取數(shù)據(jù),也可避免空白頁出現(xiàn)影響體驗。
或者進行判斷數(shù)據(jù)是否有增量變化,有點的話在插入動畫的前提下,進行數(shù)據(jù)的更新。

2.4、多模塊的重新加載操作

像一些多模塊,模塊之間相關(guān)聯(lián)的復雜頁面,多個模塊會有多個請求,當某個請求失敗需要添加“重新加載”的按鈕時,建議所有請求重新請求一遍,防止模塊之間關(guān)聯(lián)的數(shù)據(jù)出現(xiàn)偏差,或者?UI?布局錯亂。
所以,如果有做網(wǎng)絡(luò)請求失敗后,重新加載的按鈕/下拉操作,建議是:

  • 多模塊再各自請求一遍。
  • 復雜?UI?重新計算一下。

原因是:弱網(wǎng)環(huán)境,本身請求到的數(shù)據(jù)可能也不齊全,多個請求或許只能拿到部分數(shù)據(jù),而大部分情況是,各模塊是相輔相成的。

2.5、預加載設(shè)置“臨界值”

根據(jù)當前?UITableView?的所在位置,除以目前整個?UITableView.contentView?的高度,來判斷當前是否需要發(fā)起網(wǎng)絡(luò)請求:在當前頁面已經(jīng)劃過了?70%?的時候,就請求新的資源,加載數(shù)據(jù);

2.6、從請求這個動作下手

優(yōu)化DNS查詢:應盡量減少DNS查詢,做DNS緩存,避免域名劫持、DNS污染,同時把用戶調(diào)度到“最優(yōu)接入點”。
減小數(shù)據(jù)包大小和優(yōu)化包量:通過壓縮、精簡包頭、消息合并等方式,來減小數(shù)據(jù)包大小和包量。
優(yōu)化ACK包:平衡冗余包和ACK包個數(shù),達到降低延時,提高吞吐量的目的。

2.7、斷線重連

在無線網(wǎng)絡(luò)中有太多的原因?qū)е聰?shù)據(jù)連接中斷了。這里可以使用CDN。
(CDN?是構(gòu)建在數(shù)據(jù)網(wǎng)絡(luò)上的一種分布式的內(nèi)容分發(fā)網(wǎng)。?CDN?的作用是采用流媒體服務器集群技術(shù),克服單機系統(tǒng)輸出帶寬及并發(fā)能力不足的缺點,可極大提升系統(tǒng)支持的并發(fā)流數(shù)目,減少或避免單點失效帶來的不良影響。)

2.8、減少數(shù)據(jù)連接的創(chuàng)建次數(shù)

由于創(chuàng)建連接是一個非常昂貴的操作,所以應盡量減少數(shù)據(jù)連接的創(chuàng)建次數(shù),且在一次請求中應盡量以批量的方式執(zhí)行任務。如果多次發(fā)送小數(shù)據(jù)包,應該盡量保證在2秒以內(nèi)發(fā)送出去。在短時間內(nèi)訪問不同服務器時,盡可能地復用無線連接。

3、用戶體驗優(yōu)化

3.1、內(nèi)容分先后顯示

例如,一個業(yè)務模塊文字圖片都有的情況,加載可能一直卡在50%-90%的時候,那么先加載文字,再加載圖片。

3.2、進度的驅(qū)使

不管網(wǎng)絡(luò)條件如何,加載進度始終是從50%起,并且停留在大約98%進度左右的地方。

3.3、固定的 UI 顯示布局,加載時可預加載虛擬布局視圖

類似知乎,在加載時,“正在加載中的動畫/視圖”,改為主頁面顯示預加載的占位圖。

3.4、弱網(wǎng)加載失敗/空數(shù)據(jù),可添加“重新加載”的按鈕,或可增加下拉刷新操作

例如:請求無數(shù)據(jù)/網(wǎng)絡(luò)失敗,添加‘重新加載“按鈕,讓用戶意識到處于“可控”狀態(tài),降低用戶焦躁情緒。

4、圖片加載優(yōu)化

4.1、使用更快的圖片格式

嚴格說也不算弱網(wǎng)下的優(yōu)化,但一個更快的圖片格式真的很重要!這里建議采用?WebP?格式。(WebP?格式,谷歌(google)開發(fā)的一種旨在加快圖片加載速度的圖片格式。圖片壓縮體積大約只有?JPEG?的2/3,并能節(jié)省大量的服務器帶寬資源和數(shù)據(jù)空間。但?WebP?是一種有損壓縮。相較編碼?JPEG?文件,編碼同樣質(zhì)量的?WebP?文件需要占用更多的計算資源。)

4.2、根據(jù)網(wǎng)絡(luò)狀態(tài)呈現(xiàn)不同精度的圖

如(對于原圖是?600X480?的圖片):

  • 2/3G?使用低清晰度圖片:下發(fā)?300X240,精度為?80?的圖片;
  • 4G?普通清晰度圖片下發(fā)?600X480,精度為?80?的圖片;
  • WiFi?高清晰度圖片(最好根據(jù)網(wǎng)速來判斷,WiFi?也有慢的):下發(fā)?600X480,精度為?100?的圖片。

4.3、SDWebImage 參數(shù)選項

根據(jù)使用場景,參照?SDWebImageOptions常量說明,對圖片的加載進行。

4.4、不加載圖片

弱網(wǎng)情況下,在一些不影響操作,并能通過簡單文字的描述告知用戶該區(qū)域的內(nèi)容,可以不加載圖片,待到網(wǎng)絡(luò)流暢狀態(tài)再進行圖片的加載。當然這種方法要視情況而定,或者一般都在?APP?的設(shè)置選項,增加一個“弱網(wǎng)狀態(tài)不顯示圖片”的按鈕。文章來源地址http://www.zghlxwxcb.cn/news/detail-491025.html

到了這里,關(guān)于iOS 性能優(yōu)化方案-弱網(wǎng)優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 如何把ipa文件(iOS安裝包)安裝到iPhone手機上? 附方法匯總

    如何把ipa文件(iOS安裝包)安裝到iPhone手機上? 附方法匯總

    蘋果APP安裝包ipa如何安裝在手機上?很多人不知道怎么把ipa文件安裝到手機上,這里就整理了蘋果APP安裝到iOS設(shè)備上的方式,僅供參考 蘋果APP安裝包ipa如何安裝在手機上?使用過蘋果手機的人應該深有感觸,那就是蘋果APP安裝要比安卓APP安裝復雜、困難很多,很多人不知道怎

    2024年01月16日
    瀏覽(20)
  • iOS:iPhone手機分辨率、尺寸、導航欄尺寸、Tabbar尺寸對比(菜鳥教程)

    手機機型(iPhone) 屏幕尺寸(inch) 邏輯分辨率(pt) 設(shè)備分辨率(px) 縮放因子 (Scale Factor) 像素密度(ppi) 5(s/se) 4 320×568 640×1136 @2x 326 6(s)/7/8/se2 4.7 375×667 750×1334 @2x 326 6 Plus/7 Plus/8 Plus 5.5 414×736 1242×2208 @3x 401 X/XS/11 Pro 5.8 375×812 1125×2436 @3x 458 XR/11 6.1 414×896 828×1792 @2x 326 XS Max/11 Pro Max 6

    2024年02月09日
    瀏覽(22)
  • 讓蘋果iOS的手機iPhone和電腦Safari瀏覽器支持油猴腳本

    讓蘋果iOS的手機iPhone和電腦Safari瀏覽器支持油猴腳本

    官方的AppStore是沒有油猴插件(Tampermonkey)的,官方插件不僅少,功能被閹割,相對弱小,還收費。嗯,這很蘋果第三方拓展。 這是油猴插件(Tampermonkey)的下載地址,上面是老版本,下面是新版本。 https://safari.tampermonkey.net/tampermonkey.safariextz https://www.tampermonkey.net/?browser=s

    2024年02月07日
    瀏覽(34)
  • iPhone開發(fā)--Xcode15下載iOS 17.0.1 Simulator Runtime失敗解決方案

    iPhone開發(fā)--Xcode15下載iOS 17.0.1 Simulator Runtime失敗解決方案

    爆句粗口,升級后公司網(wǎng)絡(luò)下載iOS 17.0.1 Simulator Runtime一直出錯,每次出錯后都得重新開始下載,oh,f**k。上一次在在家里的網(wǎng)絡(luò)升級成功。 進入網(wǎng)址:https://developer.apple.com/download/all/ 之后找到iOS 17.0.1 Simulator Runtime,點擊下載,這個通過瀏覽器下載。 之后在命令行運行下面的

    2024年02月08日
    瀏覽(26)
  • iPhone15系類LDR6020P 超簡外圍手機轉(zhuǎn)接器/拓展塢方案

    iPhone15系類LDR6020P 超簡外圍手機轉(zhuǎn)接器/拓展塢方案

    目前市面上的手機大部分已經(jīng)取消3.5音頻耳機接口,僅僅保留了Type-c口。但是追求音質(zhì)和零延遲的用戶仍然會選擇3.5mm有線耳機,因為在玩手機游戲的時候,音畫不同步真的很影響游戲體驗,所以Type-C轉(zhuǎn)3.5mm接口線應運而生。 #iPhone15將全系采用C口#最新款iPhone 15必須要采用Ty

    2024年02月07日
    瀏覽(28)
  • IOS系統(tǒng)模擬弱網(wǎng)方法

    IOS系統(tǒng)模擬弱網(wǎng)方法

    有些APP開發(fā)完成后,需要在3G、山間小澗、電梯等信號不好、網(wǎng)絡(luò)不穩(wěn)定的地方進行測試。但是,現(xiàn)實往往不允許我們?yōu)榱艘粋€真實的弱網(wǎng)環(huán)境而消耗人力物力和時間。這時候,我們就需要模擬出一個弱網(wǎng)環(huán)境來。這次就說說ios弱網(wǎng)模擬的一種方法。 1.正文內(nèi)在電腦下載安裝

    2024年02月14日
    瀏覽(18)
  • linux性能優(yōu)化-IO調(diào)度優(yōu)化

    Linux I/O調(diào)度器(Linux I/O Scheduler)Linux內(nèi)核中的一個組成部分,用戶可以通過調(diào)整這個調(diào)度器來優(yōu)化系統(tǒng)性能,介于通用塊層和塊設(shè)備驅(qū)動程序之間。 noop(No Operation) :通常用于內(nèi)存存儲的設(shè)備。 cfq(Completely Fair Scheduler ) :完全公平調(diào)度器,進程平均使用IO帶寬。 deadline :針對

    2024年02月10日
    瀏覽(20)
  • iOS性能測試方法-獲取手機內(nèi)存數(shù)據(jù)

    iOS性能測試方法-獲取手機內(nèi)存數(shù)據(jù)

    最近在研究如何獲取iOS手機性能數(shù)據(jù)(主要是內(nèi)存),看了一圈目前主流的方法主要是兩種: 1.阿里開源的iOS自動化測試工具tidevice;2.xcode自帶的instruments; 1.cpu 正常在20%-40%左右,超過80%需要引起重視。 2.內(nèi)存 rss:私有內(nèi)存+所有共享內(nèi)存,pss:私有內(nèi)存+比例分配共享內(nèi)存,

    2024年02月07日
    瀏覽(19)
  • [iOS開發(fā)]UITableView的性能優(yōu)化

    [iOS開發(fā)]UITableView的性能優(yōu)化

    1. 用輕量級對象 比如用不到事件處理的地方,可以考慮使用 CALayer 取代 UIView 2. 不要頻繁地調(diào)用UIView的相關(guān)屬性 比如 frame 、 bounds 、 transform 等屬性,盡量減少不必要的修改 不要給 UITableViewCell 動態(tài)添加 subView ,可以在初始化 UITableViewCell 的時候就將所有需要展示的添加完畢

    2024年04月11日
    瀏覽(16)
  • 如何使用Fiddler對手機進行弱網(wǎng)測試?(干貨教程)

    如何使用Fiddler對手機進行弱網(wǎng)測試?(干貨教程)

    1.首先,fiddler連接手機 1)Tools-Options-Connections-設(shè)置端口8888,勾選Allow remote computers to connect 2)配置手機 注:手機和電腦需要在同一局域網(wǎng)下 ? ? ? ?手機進入網(wǎng)絡(luò)詳情,將代理改為手動 ? ? ? ?設(shè)置主機名、端口 主機名在該電腦控制臺下輸入ipconfig即可查到IP ? 2.連接好手機后

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包