
更新于:2021-09-08
一、問題描述
客戶想要一款開發,的App,要求模仿學習力。其中,文字要求思源宋體。隨著開發接近尾聲,發現思源宋體在安卓真機上存在文字顯示延遲的問題。
二.解決方法
1.思源宋體字體包由七種字體組成,字體內容如下:
2.我在開發使用SourceHanSerifCN-Medium-6.otf
3.安卓真機測試,字體顯示延遲應該在0.5秒到1秒之間,蘋果機可以直接顯示;
4.要解決這個問題,當字體大于40Kb時,建議轉換為base64使用字體轉換為base64的網站,轉換字體,得到一個很長的常恒字符串,復制,粘貼,粘貼,保存,編譯器粘貼。原因是字體是11M,即使轉換成base64字符串也很大,直接放棄;
4.2嘗試字體蜘蛛壓縮。在項目目錄下安裝font-spider,成功安裝node_modles中顯示的font-spider插件。根據在線教程修改,需要在中轉換字體。otf格式轉換為。ttf格式。上網找到。otf到。ttf工具。這里有個坑。有些網站提供在線otf到ttf,但轉換后的文件很小。建議應用轉換后的字體,看看轉換是否成功。我用的是windows工具,轉換后的文件還是11M。使用這個ttf文件,壓縮。因為引用字體是全局引用頁面{ font-family 3360 xx },所以壓縮命令改為font-spiderApp.vue的真實機器測試。font-spider .可以成功獲得,但延遲仍然是由于壓縮字體仍然很大,為11M。
4.3返回問題本身,字體延時顯示在0.5-1秒之間;我們打開頁面,發送的網絡請求大部分都在1秒以內,不會影響用戶的使用效果。在客戶堅持使用思源宋體的前提下,我們以0.5秒的延遲顯示每一頁;再加上網絡請求時間和數據渲染時間,可以避免字體顯示延遲的問題。同時,我們還可以在頁面顯示中加入動畫效果,提升用戶體驗。
以上uniapp采用了安卓真機上延遲顯示的解決方案。