Eclipse rap 富客户端开发总结(14) :rap 图片、数据缓存处理
一、概述
在進行了?rap?的基本學(xué)習(xí)之后,您對?rap?的理解是否進入了更高的一個層次呢,個人覺得,對學(xué)習(xí)?rap?的人來說,進行?rap?的學(xué)習(xí)是一個探索的過程,在編程中不斷的對其進行理解和分析,下面就?rap?在實際應(yīng)用中用到的一些知識做一總結(jié),好了,別不多說,下面進入正題,?rap?圖片、數(shù)據(jù)緩存的處理。
二、緩存處理的原因
?????可能你要問為什么要將這個圖片、數(shù)據(jù)的緩存問題提到書面上來呢,作為一個編程人員來將,做緩存的處理不是每個程序員都應(yīng)該知道的事情嗎?但是,我要說正是這個大家覺得習(xí)以為常的東西就更要提到書面中來,做一警惕。
三、緩存圖片的處理
1?、問題的發(fā)生
在我們開發(fā)的項目中,發(fā)現(xiàn)了這樣一個現(xiàn)象,運行?rap?的項目,速度非常的慢,在我們工程的界面上左側(cè)是一棵用?treeViewer?構(gòu)建的樹,樹的數(shù)據(jù)量也不是很大,每個樹節(jié)點上有圖片的信息,打開這棵樹的過程就需要?6?到?7?秒的時間。最后發(fā)現(xiàn)是每一個樹上的節(jié)點的創(chuàng)建過程都重新加載了圖片引起的。當把圖片放入到了緩存中速度明顯就提升上來了。具體的看看代碼中是怎么的實現(xiàn)吧。
?
2?、圖片緩存的處理
1)?、圖片緩存類?ImageUtil?,處理圖片從緩存中獲取,如果緩存中沒有該圖片的信息,那么通過圖片的路徑將圖片加載到緩存中來,在從緩存中獲取圖片的信息,這樣就不用每次都加載圖片,加載一次可復(fù)用多次。
?
[java]?view plaincopy print?2)?、處理圖片路徑的類?PathUtil?,該類處理加載的圖片的路徑,根據(jù)一個圖片的名稱,尋找圖片的路徑。
[java]?view plaincopy print??
3?、用法
在用到圖片的地方,調(diào)用工具類?ImageUtil?中的?getImage(fileName)?就可以了,其中參數(shù)?fileName?是圖片的名稱。此外需要注意下,所有圖片是放到?icons?目錄下的。具體的實現(xiàn)類在這就不列出代碼了。
四、數(shù)據(jù)緩存的處理
數(shù)據(jù)緩存的原理很簡單,就是將要加載的數(shù)據(jù)先存到一個位置,用的時候直接從這個位置中取出就可以了,不用每次用的時候都要創(chuàng)建連接數(shù)據(jù)庫的信息并從數(shù)據(jù)庫中讀數(shù)據(jù),若想要更新的數(shù)據(jù),就要出現(xiàn)個刷新按鈕了,刷新一下,從數(shù)據(jù)庫中讀出新數(shù)據(jù)更新緩存,用的時候還是從緩存中取數(shù)據(jù)信息。
下面說說我們項目中用到的數(shù)據(jù)緩存的實現(xiàn)原理。
因為我們項目中用到的數(shù)據(jù)基本上是組裝樹結(jié)構(gòu)的數(shù)據(jù),所以將數(shù)據(jù)以?list?的形式存放的。具體思路是:從數(shù)據(jù)庫中查詢出來的數(shù)據(jù)存放到?list?中,當項目中調(diào)用數(shù)據(jù)庫數(shù)據(jù)的時候就是從這個?list?中取得,當刷新數(shù)據(jù)的時候在更新對應(yīng)的?list?中的數(shù)據(jù)就可以了。
代碼的實現(xiàn)也是很簡單,這里就不粘代碼了,簡單介紹下實現(xiàn)方案。定義一個緩存?list?存放數(shù)據(jù),提供一個方法?a?將數(shù)據(jù)存放到這個?list?中來,并對外提供一個獲得這個?list?的接口方法?b?,外界來調(diào)用這個接口方法?b?獲得數(shù)據(jù),當要刷新數(shù)據(jù)的時候就直接調(diào)用?a?方法。
?
轉(zhuǎn)載于:https://www.cnblogs.com/dengyungao/p/7503661.html
總結(jié)
以上是生活随笔為你收集整理的Eclipse rap 富客户端开发总结(14) :rap 图片、数据缓存处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串转数字测试--知识备忘
- 下一篇: 划分子网,划分超网