一直致力于為公司尋找更加高效的解決方案,作為一款K12在線教育App,功能中難免會(huì)有LaTeX數(shù)學(xué)公式的顯示需求,這部分公司已經(jīng)實(shí)現(xiàn)了此功能,只是個(gè)人覺得在體驗(yàn)和效率上還是不太好,今天來聊一下如何讓原生渲染LaTeX數(shù)學(xué)公式。
先了解一下LaTeX數(shù)學(xué)公式
什么是Latex?感興趣的同學(xué)可以查看百科:Latex百科。
Latex數(shù)學(xué)公式:就是通過Latex來表示一個(gè)數(shù)學(xué)公式,舉例說明:
例如:$$ \\[ \\sum_{k=1}^n k^2 = \\frac{1}{2} n (n+1).\\] $$
表示數(shù)學(xué)公式:
目前方案
由于之前一直沒有找到原生渲染latex數(shù)學(xué)公式的方案,所以之前的采用的方案比較簡(jiǎn)單粗暴了點(diǎn),直接通過Latex生成圖片的方式,然后客戶端通過自定義TextView實(shí)現(xiàn)圖文混排。
分析優(yōu)缺點(diǎn):
一道題目中有可能很多數(shù)學(xué)公式,會(huì)有大量的圖片下載需求
由于是圖片下載,在弱網(wǎng)環(huán)境下會(huì)導(dǎo)致下載過慢
由于是下載的圖片,渲染過程慢,內(nèi)存開銷相對(duì)也大
選定方案
基于目前現(xiàn)狀,一直想著尋找替換方案,最近尋找了一下解決方案,驚奇的發(fā)現(xiàn)現(xiàn)在已經(jīng)有支持Latex原生渲染的開源框架了。今天來學(xué)習(xí)使用一下。它就是:FlexibleRichTextView。
FlexibleRichTextView簡(jiǎn)介
一個(gè)可以自行定義大部分標(biāo)簽(比如你可以自己定義粗體為 <b></b>
或者
網(wǎng)友評(píng)論