為什麼安卓軟體滑動不掉幀
1. Android 的屏幕滾動操作不如 iPhone 流暢順滑,是什麼原因導致的
速度曲線。
當你滑動界面然後鬆手,這時界面會繼續滑動,然後速度減小,直到速度為0時停止。iOS下速度減小的這個過程比較慢,尤其是快要停的時候是慢慢停的,視覺上有種很順滑的感覺;Android下則從鬆手到停要快很多,相比之下有種戛然而止的感覺。
從數據/技術角度來看這個事情,我們滑動界面的最終目的不是為了「動」,而是為了「停」,因此只要平滑的到達目的地,似乎越快完成這個過程越好,所以Android的選擇是理所當然的。但事實是,大家普遍更喜歡iOS的方式,這樣做顯得更順滑、更優雅。幀率。
絕大部分時間兩者都能保持60FPS左右的滿幀率。但都會有偶爾的掉幀。並且Android上要比iOS上嚴重很多。(好吧,比起前兩年,已經好太多了。)我前前後後滑動了幾十次,iOS在前面遇到1次掉幀,後面就很穩定了。而Android幾乎每滑動一次都會伴隨一次掉幀。這完全就是真真實實的卡頓,用戶必然會感覺到那一刻的不流暢。Android掉幀的原因我後面再詳細分析。觸摸響應速度。
從手指碰到觸摸屏,到屏幕上顯示處理這次觸摸產生的畫面,是需要時間的。時間越短感覺越跟手。據說iOS的觸摸屏的處理時間要比一般的Android手機快,這不是我的專長,不知道怎麼驗證。但在軟體系統層面,Android的顯示機制是app-->SurfaceFlinger-->Display,這比傳統的app-->Display多了一步,主要基於這個原因,畫面最終輸出到屏幕要比傳統的方式慢一幀(16.7ms)。
我覺得第1點造成的影響最大,恰恰卻是最技術/設備無關的。如果微博app或者Android系統要改變,很容易就可以調得跟iOS一模一樣。但正是由於這是產品形態上的差別而不是純粹技術上的優劣,反倒成了Android最不太可能改變的。
第2點的影響其次,當然是指在目前這個大部分時候都能滿幀的情況下。這方面是Android從早期到現在進步最明顯的方面,使用了很多方法來優化幀率。但就算現在Android進化了很多,硬體性能也進化了很多,卻仍舊不可能徹底消滅掉幀的情況。
第3點通俗的講就是跟手性,跟手性的重要性不言而喻,但現在的差別比較細微,且具體數據我也不清楚。
我想過一個辦法讓桌面、微博這種內容和手一起動的應用繪制到屏幕的速度快一幀(16.7ms),其實就是抵消之前提到的慢的那一幀,需要framework層和app層一起配合改動,目前已申請了專利但代碼還沒進,將來有時間了應該會進到MIUI。感興趣的可以看看專利:滑動操作響應方法、裝置及終端設備。
作者:朱才
鏈接:http://www.hu.com/question/24541467/answer/29020774
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
望採納,謝謝
2. 為什麼手機瀏覽有些頁面會很卡,每次滑那個頁面就不流暢
主要原因有以下幾個:
(1)安卓手機的系統機制決定,安卓手機上的應用程序是在虛擬機上運行的,虛擬機是非常吃內存的,垃圾會積累的非常快,最後致使cpu的壓力越來越大。
(2)安裝的應用軟體太多。現在的手機軟體越做越大,對內存的佔用也越來越嚴重,很多軟體都會在後台偷偷自啟,或者相互喚醒,這樣運行內存很容易不足,進而使手機變卡。
(3)手機系統垃圾大量堆積。手機在使用的過程中,系統本身以及各種應用軟體都會產生緩存數據,如果不及時清理這些垃圾,手機的存儲空間會越來越小,文件檢索會越來越慢。
可能有效的解決辦法有:
(1)盡量不要同時開啟多個應用軟體,注意控制正在運行的程序數量。
(2)關閉各個軟體的自動運行許可權、推送通知許可權,避免它們頻繁佔用後台。
(3)定期清理內存垃圾,保持充足的存儲空間。這里有我用過的一些清理軟體,給你做個參考:
獵豹清理大師:獵豹家族的產品,在手機清理界名氣較大,使用的人也很多,但是口碑不太好。主要是功能過於冗雜,廣告太多,影響體驗。
360清理大師:亮點是體積很小,界面設計的比較清新,在垃圾掃描量上比獵豹多,但是也是廣告較多。
量子清理加速:小眾軟體,本人現在再用,清理效果比前兩個有突出優勢,之前我比較介意開屏廣告,沒想到最近更新後完全沒廣告了,挺驚喜的。
存儲空間清理:小眾軟體,對文件的整理非常細致,清爽無廣告。不足是垃圾清理量比較少,部分功能需付費解鎖。
(4)手機定期關機重啟
3. 手機滑動屏幕不流暢有什麼好的解決辦法
我的經驗就是:一,清理手機垃圾,因為手機不停運行免不了產生大量垃圾,每天定期清理一次會使手機運行流暢多了。二,盡量卸載不大需要的,可有可無的應用軟體,這樣可以減少手機在運行時的負擔使手機流暢。
三,儲存卡盡量不要儲存太多相片,因為手機儲存太多會導致手機負擔過大,引起手機卡慢。
以上的本人使用手機的一點經驗,能做到這些,手機就能順暢多了,希望能幫到你。