国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的移動(dòng)教務(wù)系統(tǒng)設(shè)計(jì)與優(yōu)化技術(shù)

2016-01-14 12:30趙啟升施琚唐瑤
電腦知識(shí)與技術(shù) 2015年19期
關(guān)鍵詞:性能優(yōu)化

趙啟升+施琚+唐瑤

摘要:該文介紹的移動(dòng)教務(wù)系統(tǒng)基于Android平臺(tái)構(gòu)建,利用流行的Roboguice注入型框架、ImageLoader圖片加載技術(shù)、AsyncHttpClient網(wǎng)絡(luò)異步請(qǐng)求技術(shù)、JPush推送技術(shù)、HoloGraph圖表繪制等技術(shù)進(jìn)行開發(fā),同時(shí)運(yùn)用ViewHolder模式、Bitmap壓縮等技術(shù),對(duì)“移動(dòng)教務(wù)系統(tǒng)”進(jìn)行優(yōu)化。

關(guān)鍵詞:Android;移動(dòng)教務(wù);性能優(yōu)化;異步加載

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)19-0082-02

目前,我校內(nèi)部校園網(wǎng)上運(yùn)行著許多管理系統(tǒng),但這些系統(tǒng)或多或少都存在著技術(shù)過于陳舊、頁面不夠美觀,以及沒有針對(duì)移動(dòng)設(shè)備的瀏覽做出優(yōu)化等問題。同時(shí)隨著智能手機(jī)在校園中的普及,越來越多的學(xué)生在嘗試通過手機(jī)終端訪問教務(wù)等信息時(shí)都會(huì)出現(xiàn)頁面排版錯(cuò)亂、無法成功使用等問題,這一現(xiàn)象造成的體驗(yàn)較差。本文以教務(wù)系統(tǒng)為切入點(diǎn),針對(duì)基于移動(dòng)平臺(tái)的教務(wù)系統(tǒng),介紹了“移動(dòng)客戶端”的設(shè)計(jì)過程及優(yōu)化技術(shù)。

1總體設(shè)計(jì)

1.1結(jié)構(gòu)設(shè)計(jì)

本系統(tǒng)總體功能結(jié)構(gòu)從上到下分為5層:接入層、展現(xiàn)層、應(yīng)用層、支撐層、基礎(chǔ)層。其中接入層代表全體用戶,負(fù)責(zé)操作App;展現(xiàn)層代表App本身,負(fù)責(zé)與用戶產(chǎn)生交互;應(yīng)用層代表App內(nèi)部模塊,主要分為教務(wù)模塊、圖書管理模塊、圈子模塊,這些模塊組成了App的全部功能;支撐層代表App底層結(jié)構(gòu)中的一部分,包括數(shù)據(jù)庫、解析器等中間件,這些部件支撐著整個(gè)業(yè)務(wù)系統(tǒng)的運(yùn)行;基礎(chǔ)層代表“服務(wù)器”部分。五層結(jié)構(gòu)建立了用戶一客戶端一服務(wù)器三者之間的完整關(guān)系如圖l所示。

1.2功能設(shè)計(jì)

移動(dòng)教務(wù)平臺(tái)Android端以校園現(xiàn)有相關(guān)系統(tǒng)為功基礎(chǔ),對(duì)原有系統(tǒng)進(jìn)行“移動(dòng)平臺(tái)化”移植,使用戶可以在手機(jī)上直接通過“獨(dú)立客戶端”相應(yīng)系統(tǒng)進(jìn)行操作。該平臺(tái)Android端以“教務(wù)系統(tǒng)”為主,同時(shí)也結(jié)合了“圖書管理系統(tǒng)”和“通知系統(tǒng)”,其中“教務(wù)系統(tǒng)”實(shí)際上也整合了“評(píng)教系統(tǒng)”,各系統(tǒng)之間相互獨(dú)立,符合“低耦合”的設(shè)計(jì)理念,共同構(gòu)成Android端完整的軟件功能。具體提供的功能包括成績(jī)查詢、圖書查詢、圖書推薦、個(gè)人圖書館、通知推送及移動(dòng)評(píng)教。

1.3UI設(shè)計(jì)

本系統(tǒng)所采用的主體設(shè)計(jì)風(fēng)格為“卡片式UI設(shè)計(jì)”??ㄆ経I本設(shè)計(jì)中全部UI界面基于“卡片式”設(shè)計(jì)?!翱ㄆ健盪I相較于傳統(tǒng)的UI設(shè)計(jì),在柵格的基礎(chǔ)上更進(jìn)一步,可以將不同大小、不同媒介形式的內(nèi)容單元以統(tǒng)一的方式進(jìn)行混合呈現(xiàn),并且卡片式設(shè)計(jì)應(yīng)用于流量分發(fā)的渠道型頁面及碎片化內(nèi)容頁。

2實(shí)現(xiàn)優(yōu)化

2.1性能優(yōu)化

1)由于整個(gè)Android生態(tài)“碎片化”現(xiàn)象較為嚴(yán)重,不同的手機(jī)搭載的不同版本Android系統(tǒng),不同的屏幕大小帶來的不同分辨率以及手機(jī)之間不同的硬件配置,眾多因素都會(huì)導(dǎo)致App性能在不同的環(huán)境下表現(xiàn)不一致。性能優(yōu)化部分主要指在對(duì)Bitmap的處理和對(duì)ListView處理的優(yōu)化上。在Android開發(fā)中,處理Bitmap需要小心,否則輕者會(huì)造成應(yīng)用卡頓,嚴(yán)重地會(huì)直接OOM(Out of Memory)或?qū)е翧NR(Android Not Respond-ing)。

2)在文所述應(yīng)用在首次啟動(dòng)展示的引導(dǎo)界面,在ViewPag-er的Fragment中加載圖片時(shí),采用了異步線程+壓縮顯示的方法,使得Bitmap的顯示效率有了很大程度的改善。具體代碼如下:

2.2 ListView滑動(dòng)性能優(yōu)化

對(duì)于ListView的優(yōu)化,因?yàn)長(zhǎng)istView依靠一種類似“?!钡臄?shù)據(jù)結(jié)構(gòu)來渲染每個(gè)要顯示的條目,當(dāng)用戶將列表向上滑動(dòng),不再可見的條目會(huì)被壓至棧底,釋放空間,供新條目使用,實(shí)現(xiàn)過程如圖2所示。但當(dāng)用戶將這個(gè)視圖滑回屏幕,在這種情況下程序應(yīng)當(dāng)作出處理,讓ListView直接從內(nèi)存中讀取View而不是重新申請(qǐng)空間。這可以使用一個(gè)數(shù)據(jù)結(jié)構(gòu)將get的View先緩存起來,這樣的數(shù)據(jù)結(jié)構(gòu)就是“ViewHolder”,類似的還有ViewS-tub等一些元素。

2.3UI優(yōu)化

1)UI優(yōu)化是指對(duì)軟件UI布局做出優(yōu)化以獲得更佳的性能。在系統(tǒng)UI開發(fā)過程中,有很多布局、控件等元素可以實(shí)現(xiàn)復(fù)用。這些元素如果不在優(yōu)化階段單獨(dú)從代碼中抽出,不但會(huì)造成項(xiàng)目中產(chǎn)生大量冗余代碼,而且會(huì)拖慢應(yīng)用的UI渲染性能。

2)通過使用Hierarchy Viewer對(duì)現(xiàn)有實(shí)現(xiàn)布局進(jìn)行查看,去除多重嵌套的布局,并抽出能夠?qū)崿F(xiàn)重用的布局,合理利用、等標(biāo)簽實(shí)現(xiàn)對(duì)布局文件的優(yōu)化。在系統(tǒng)實(shí)現(xiàn)初期實(shí)現(xiàn)引導(dǎo)頁面時(shí),采用了類似下面這段代碼的布局:

這個(gè)布局在初次實(shí)現(xiàn)時(shí)并無任何問題的,但在設(shè)計(jì)優(yōu)化階段經(jīng)過Hierarchy Viewer查看,發(fā)現(xiàn)其中的層級(jí)套用過于復(fù)雜,在RAM較小的手機(jī)上會(huì)嚴(yán)重影響App性能。

3)優(yōu)化過程采用了標(biāo)簽對(duì)來解決。該標(biāo)簽對(duì)可以有效減少View的層級(jí)數(shù)量,如布局的root是一個(gè)垂直的LinearLayout_1,這個(gè)LinearLayout_1里面需要再放一個(gè)垂直的LinearLayout_2,然后這個(gè)LinearLayout_2里有兩個(gè)But-ton,一旦層級(jí)關(guān)系多了,層層嵌套的LinearLayout就會(huì)拖慢整體的繪圖性能,但事實(shí)上這幾個(gè)LinearLayout幾乎都是一樣屬性,只不過是包含的子空間不同,因此完全可以就寫一個(gè)Lin-earLayout,在其他地方使用重用這個(gè)布局即可。兩次Hierarchy Viewer分析結(jié)果如圖3所示。

類似這樣的優(yōu)化在本次畢業(yè)設(shè)計(jì)中的很多頁面中均有體現(xiàn)。通過這些優(yōu)化途徑,使得軟件在啟動(dòng)性能、運(yùn)行效率上有了很大程度的提升,也降低了對(duì)手機(jī)資源的消耗,增加了手機(jī)的續(xù)航時(shí)間。

3結(jié)論

本文介紹了基于Android的移動(dòng)教務(wù)系統(tǒng)設(shè)計(jì)過程,同時(shí)介紹了對(duì)該系統(tǒng)在性能、ListView滑動(dòng)性及UI等方面進(jìn)行了優(yōu)化,通過這些優(yōu)化手段的運(yùn)用,使得系統(tǒng)在啟動(dòng)性能、運(yùn)行效率上有了很大程度的提升,降低了對(duì)手機(jī)資源的消耗,增加了手機(jī)的續(xù)航時(shí)間。

猜你喜歡
性能優(yōu)化
SQL Server數(shù)據(jù)庫性能優(yōu)化的幾點(diǎn)分析
Web應(yīng)用的前端性能優(yōu)化
WEB網(wǎng)站緩存性能優(yōu)化
Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析