旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實習/?A計劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 行業(yè)資訊 > 非常干貨系列之APP加載頁面的UI設計

非常干貨系列之APP加載頁面的UI設計

時間:2018-04-09來源:mwtacok.cn點擊量:作者:馬晨皓
時間:2018-04-09點擊量:作者:馬晨皓

一、認識加載


1. 什么是加載

用戶在客戶端發(fā)出一個指令后,直到客戶端出現(xiàn)反饋結(jié)果時,這段時間內(nèi)計算機完成的一系列執(zhí)行動作,可能包括有客戶端發(fā)出請求,服務器做出響應,客戶端拿到數(shù)據(jù)后計算,渲染等,當我們點擊應用圖標后,軟件需要將文件或者數(shù)據(jù)從 Rom 讀取到 Ram,這也是一個加載過程。
 

2. 加載有什么用

加載是電腦接收到用戶的指令然后實現(xiàn)用戶的目標所必須經(jīng)歷的一個過程,如果沒有加載的話,計算機就無法實現(xiàn)用戶的目標。
 

3. 加載帶來的問題

有些加載過程的時間可能會比較長,甚至用戶不知道此時應用是卡死了還是在執(zhí)行命令,這樣就會導致用戶體驗降低,用戶會對應用失去耐心。

 

二、如何解決加載帶來的問題


1. 梳理 App 中有哪些加載場景

要針對 App 內(nèi)的加載場景帶來的問題進行設計,首先肯定是先羅列出我們的 App 中有哪些加載場景,然后針對不同的加載場景選取對應的方法進行設計。

下面羅列了在不同 App 中經(jīng)常出現(xiàn)的一些加載場景,其實在我們自己設計的 App 中大部分加載場景也就是這些,當然不同的 App 情況也不完全一樣,還是需要我們針對不同的 App 去梳理的。那么我們?nèi)绾问崂砟兀繉⒛切┌l(fā)出指令后應用需要長時間處理的加載過程都羅列出來,簡單說就是把那些慢的地方都找出來。

常見的加載場景:

  • 應用啟動
  • 登錄注冊
  • 上傳,下載
  • 加載大量圖片文字的情況,圖片列表等
  • 下拉刷新
  • 上拉加載數(shù)據(jù)
  • 點贊
  • 進入新頁面
  • 手機付款

2. 采取對應的解決辦法

梳理完了 App 中的加載場景后,接下來我們針對不同的加載場景采取對應的解決辦法即可,這里為什么是對應的解決辦法呢?因為接下來要講的解決辦法也不是你想怎么用就怎么用的,我們要根據(jù)情況來選擇。

第一個辦法:選用加載策略

下面是一些常見的加載策略,我們可以針對不同的加載場景,選用合適的加載策略。

分步加載:

優(yōu)先加載占網(wǎng)絡資源較小的元素。如先文字和默認圖標后圖片,圖片加載完成前使用占位符顯示。

懶加載(又稱為延遲加載):

在網(wǎng)頁中,常常需要用到圖片,而圖片需要消耗較大的流量。正常情況下,瀏覽器會解析整個HTML代碼,然后從上到下依次加載<img src=」xxx」>的圖片標簽。如果頁面很長,隱藏在頁面下方的圖片其實已經(jīng)被瀏覽器加載了。如果用戶不向下滾動頁面,就沒有看到這些圖片,相當于白白浪費了圖片的流量,不僅浪費了流量,速度也很慢。

但是,淘寶、京東這些流量非常巨大的電商,商品介紹頁又必須有大量的圖片,因此,這些頁面的圖片都是「按需加載」,即用戶滾動頁面時顯示出來的時候才加載圖片。當網(wǎng)速非??斓臅r候,用戶并不能感知懶加載的動作,既省流量又不影響用戶瀏覽。

預加載:

通常應用在信息流中。比如搜索結(jié)果頁,也就是我們經(jīng)??吹降牧斜硪晥D。當我們「將要滑到」頁面底部時,頁面自動請求數(shù)據(jù),為你加載出下一頁。所以一般你在瀏覽下圖這種列表時,感覺非常流暢。因為頁面進行了預加載。

預加載是貼心的小棉襖,會揣摩用戶的心思,偷偷提前做準備。用戶在看 A 頁面時,客戶端就在準備用戶可能會看的 B 頁面,用戶需要時,立刻給他,然后去準備 C 頁面,給用戶提供無縫鏈接的感覺,代價就是服務端、客戶端都累的夠嗆,耗費用戶更多的流量。

懶加載和預加載好像是相反的策略,那我們到底用哪個呢?如果用戶需要看的列表中圖片很多,文字較少,這種情況我們可能使用懶加載比較好;如果用戶要看的頁面并不需要花費太多流量,那我們預加載可能就好一點,或者在 wifi 下使用預加載,在 4g 網(wǎng)絡時使用懶加載。

智能加載:

根據(jù)不同的網(wǎng)絡狀況來加載不同的數(shù)據(jù)

  • 在 WIFI 條件下:優(yōu)先加載高質(zhì)量圖片、優(yōu)質(zhì)音樂和視頻。
  • 在 4G 條件下:下載行為自動終止,優(yōu)先加載普通甚至停止加載圖片或音樂視頻。
  • 在網(wǎng)絡不通暢時:默認加載低質(zhì)量甚至停止加載圖片或音樂視頻。

漸進加載:

我們在 PC 端用瀏覽器看圖片的時候,經(jīng)常是先看到一張模糊圖,然后再漸漸的變得清晰,這種情況在看漫畫的時候尤其常見,這種效果就叫做漸進式加載,漸進式加載能夠大大的提升體驗感。

后臺加載:

用戶在操作后,客戶端立刻反饋操作成功,然后把請求放到后臺與服務器交互,這一過程用戶不需要了解,不需要等待,在正常情況下體驗是非常棒的。

但是在極端情況下會出現(xiàn)一些莫名其妙的狀況,由于是后臺記錄請求并與服務器交互,所以實際請求是否成功客戶端是不說明的,全部以操作成功來顯示,這就會導致用戶誤以為操作成功了,但實際上下次來看發(fā)現(xiàn)沒有成功。

所以這種加載方式是需要根據(jù)具體使用場景來權(quán)衡使用的,對于一些重要的操作,建議還是使用模態(tài)的方式加載,對于一些小操作,如點贊、訂閱、關(guān)注,可采用后臺加載的方式。

小結(jié)

這些加載策略能在很大程度上提高用戶的體驗,但是我們可以看到,這些加載策略除了后臺加載外,其他的加載策略基本都是針對圖片文字的加載,也就是對應于我們剛才列舉的眾多加載場景中的加載大量文字圖片和進入新頁面這兩個場景,因此我們可以看出,這些加載策略能解決的加載場景是比較有限的,不過這些加載場景也是我們在應用中最頻繁遇到的加載場景。

第二個辦法:提示

除了第一個辦法外我們還能做點什么呢?不能加快加載速度的話,我們就不管了嗎?顯然不是,其實用戶對于應用中合理的加載比較慢的過程是可以理解的,因為很多操作本來就需要一定的時間,你要下載一個很大的視頻,目前還不具備一下子就下載好這樣的技術(shù),其次很多加載過程慢不是應用的錯,也許是用戶的手機卡,也許是用戶的網(wǎng)絡慢。

但是我們在設計應用時也可以幫用戶分擔這些憂慮,盡量給用戶好的體驗,那么我們就應該在這些加載過程比較慢的地方加入合理的提示,讓用戶心里有數(shù),而不是誤以為手機卡死了,或者應用失靈了。這些合理的提示對于用戶體驗的提高是顯而易見的,接下來讓我們看看應該如何提示用戶。

提示類型:中斷用戶操作

在有些加載場景下,我們需要中斷用戶的其他操作,用戶只能等待加載場景結(jié)束,因為如果用戶執(zhí)行了其他操作就會打斷正在進行的加載過程,實現(xiàn)不了用戶的目標,用戶就得重新加載,那么我們?nèi)绾沃滥男┘虞d場景是需要中斷用戶操作的,哪些又是不需要的呢?

一般來說需要中斷用戶操作的加載過程主要有兩種情況:

  • 用戶接下來的操作與這一步的操作密切相關(guān),如果這一步操作未執(zhí)行成功則接下來的操作也不能進行。比如登錄,退出,應用啟動,手機支付等,這種場景的確定需要我們結(jié)合具體的應用功能和業(yè)務場景來確定。
  • 用戶執(zhí)行的操作本身不能和其他操作同時進行,不知道大家有沒有用過微信遷移聊天記錄的功能,在遷移聊天記錄的過程中,應用有提示「請始終保持微信在屏幕顯示」,這時如果我們做了其他事情,將會打斷傳輸過程,這種場景的確定需要我們和開發(fā)人員溝通。

當我們確定了提示類型是需要中斷用戶操作的,該怎么提示用戶呢?

如果中斷時間比較短,我們可以使用模態(tài)提示,模態(tài)提示就是在屏幕中間會彈出一個提示框,除了提示框以外的區(qū)域都會變灰,變灰就代表其他部分都不能點擊,比如下圖中的登錄,退出。

當然也不是說只能用模態(tài)提示,當我們的 App 在啟動時,需要將文件和數(shù)據(jù)從 Rom 中讀取到 Ram 中,這個過程也比較長,且用戶也不能執(zhí)行任何操作,幾乎所有的 App 都是使用廣告頁來占用這段時間的,而不是模態(tài)提示,所以我們還是要靈活運用。除了廣告頁,我們還可以使用品牌頁,活動頁來占用加載過程。

如果中斷時間比較長,我們需要使用專門的頁面來提示用戶,以引起用戶的重視。

注意:當加載過程需要中斷用戶的其他操作的話,我們最好給用戶留下取消加載過程的按鈕,當用戶不想加載了可以取消加載。

總的來說需要中斷用戶操作的加載場景相對不中斷的還是要少很多的。

提示類型:不中斷用戶操作

如果我們的加載場景不需要打斷用戶的操作,常見的提示方式有導航欄提示用戶,在控件本身提示用戶,或者頁面局部區(qū)域提示用戶。

在導航欄對用戶進行提示是一個不錯的選擇,但是我看了很多應用,都沒有將提示內(nèi)容放到導航欄,為什么?因為大部分應用的導航欄,不是被各種搜索框占用,就是各種選項卡占用,根本就沒有空間用來放提示內(nèi)容。

在控件自身提示這種方式也比較好,可以讓用戶知道他的操作針對的是哪一個對象,這種提示方式一般適用于有具體的操作對象的加載過程,如果我要是想刷新,顯然就不能用這種方式了,因為刷新并沒有一個具體的對象。

第一個圖是在下拉刷新時的提示,第二個圖是在進入新頁面的時候在頁面中央提示的,有些同學可能要問了,第二幅圖都白屏了,難道不算打斷用戶操作的類型嗎?

其實這種情況下,我們依然可以點擊底部菜單欄和導航欄中的 tab 欄,所以并不能算作打斷了用戶的操作。頁面局部區(qū)域提示可以說是應用中最廣泛的一種提示方式了,幾乎每個應用中,都存在這樣的提示方式,這種方式設計起來最簡單,也是最成熟的設計方式。

提示內(nèi)容

提示內(nèi)容包括文字和圖片。

如果是使用文字的話,文字應該盡量準確的告訴用戶,應用正在加載什么,不要讓用戶去猜。比如之前我放的關(guān)于登錄的截圖,圖中使用的是正在加載,這里如果能改成登錄中就更好了。關(guān)于這個提示內(nèi)容,大家可以去觀察一下微信的提示文字怎么寫的,收取中……,連接中……等等,相信用戶更愿意看到這樣的提示內(nèi)容,而不是干巴巴的正在加載。

其實大部分情況下提示內(nèi)容都是使用文字,使用圖片的機會比較少,這里說的是那種圖片式的,有些還會有動畫效果,而不是那種轉(zhuǎn)圈圈的小圖標,為什么圖片使用的少呢?因為圖片占用的空間大,一般來說只有在進入新頁面的時候有些應用會使用一些可愛的圖片來分散用戶的注意力,但是我相信就算用戶第一次,第二次,第三次對你的圖片感興趣,時間長了,再好看的圖片也會讓用戶覺得沒什么意思。

小結(jié)

第二個辦法是給用戶提示,這里還有一點要補充的,不管是什么形式的提示,如果能給出進度條,最好采用進度條的方式,但是能給出進度條的加載場景也不是很多,因為我們大部分的加載場景和網(wǎng)絡有關(guān),如果網(wǎng)絡不好的話,誰知道加載到什么時候呢?一般來說下載,上傳這類場景都可以給出進度條。

 

總結(jié)

寫了這么多其實設計加載場景的本質(zhì)思想并不復雜,首先找出應用中加載時間比較慢的操作,只要是慢的地方都算進來。然后根據(jù)加載場景來看,如果能用得到加載策略就用加載策略,如果用不了的話就合理的提示用戶,當然不是說用了加載策略就不用提示用戶,如果用了加載策略還會有點慢,我們一樣要提示用戶。最后,其實大部分的加載場景都有成熟的解決方案,我們只要梳理出我們應用中的加載場景,然后再到別人的應用里找點靈感就好了。


 

預約申請免費試聽課

填寫下面表單即可預約申請免費試聽!怕錢不夠?可先就業(yè)掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業(yè)?一地學習,可推薦就業(yè)!

?2007-2021/北京漫動者教育科技有限公司版權(quán)所有
備案號:京ICP備12034770號

?2007-2022/ mwtacok.cn 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號

網(wǎng)站地圖