999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析基于Android的大文本閱讀器

2014-04-29 00:44:03周一帆
電腦迷 2014年9期

周一帆

摘 要 Android是市場占有率最大的一個平臺,Android平臺下的APP也各式各樣,各種各樣的文本閱讀器也隨之產生。傳統IO流與NIO流相差甚大,但在JDK 1.4 中原來的 I/O 包和 NIO 已經很好地集成了,所以即使采用傳統IO流的方式讀取速度也不會相差很大。讀取方式需要采取分塊讀取的方式,否則會很占內存。文本閱讀器還需要解決的問題有編碼問題,一個好的文本閱讀器應該支持多種編碼格式的文本。

關鍵詞 Android IO 文本閱讀器 編碼

中圖分類號:TP3 文獻標識碼:A

現如今,移動市場發展十分迅速,而Android是移動市場中所占比例最大的一個平臺。截至2013年年底,Android的市場占有率從2012年的68.8%提升至78.9%,而蘋果的IOS則從2012年的19.4%下降到15.5%,Microsoft的Windows Phone則從2.7%上升到3.6%。可以看出,在智能手機市場已經接近飽和的情況下,IOS平臺和WP平臺小幅波動下,Android平臺在上升了10個百分點,實屬不易。相較于IOS,Android系統比較開放,比較大眾化,而且支持Android系統的手機也比較多,所以很多人愿意選擇系統。

對于Android而言,Android應用程序是JAVA語言編寫的。同時,對于JAVA語言而言,Android平臺的出現,讓JAVA語言重生,因為Android平臺應用開發的語言就是JAVA,這讓許多癡迷于APP開發的開發者們都紛紛深入了解JAVA。

Android響應速度主要指的是JVM,即JAVA 虛擬機的速度。隨著各式各樣的APP的風靡,文本閱讀器也隨處可見。對于大文本來說,文本閱讀器的性能好壞就體現在響應速度上。

對于手機等移動設備來說,運行內存實在有限。所以,處理起各種應用來最需要保證的就是占用內存不能太大。而對于文本閱讀器來說,如果用傳統的方式去讀取,然后將讀取到的全部存起來,如果這個文本有1G,那么這個程序就該被列入最爛APP排行榜了。

所以,Android文本閱讀器需要最解決的問題就是內存的問題。所以現在的解決方案就是,少讀取到內存。但是文本閱讀是一個動態的過程,沒有一個開發者會知道每一個使用者每次會讀多少的文本,會讀多大的文本。所以必須有一個合適的算法,來進行對這個未知的文本進行讀取。

對于JAVA而言,讀取文件需要的就是IO流。在J2SE1.4以上版本中發布了全新的I/O類庫,即NIO包。選取使用哪種IO流對文本閱讀器的速度也有很大的影響。在傳統I O流是面向流的,就是說這種流真的像流水一般,過去了就不能往回流。而NIO是面向緩沖的,它讀到的數據會存到一個緩沖區里。有了這個緩沖區事情就好辦了,必要的時候,它可以在緩沖區里前后移動。這就使得流使用起來方便了許多。除此之外,傳統IO流都是阻塞的,當一個線程調用了讀或者寫的方法的時候,該線程就會阻塞,直至數據完全取得或者數據完全寫入。這就降低了效率,而NIO是非阻塞的。當該線程啟動了流之后,該線程不需要等待數據完全取得或者完全寫入,就可以執行其他的操作。經過不完全準確測試,讀取一個10M的文本,使用NIO的所需要的平均時間為2秒,而使用傳統IO則平均需要3秒。

但在JDK1.4中原來的I/O包和NIO已經很好地集成了。java.io.* 已經以 NIO 為基礎重新實現了,所以現在它可以利用 NIO 的一些特性。這使得傳統IO雖然面向流,但是處理速度提高了不少。

這個時候還會遇到的一個問題是編碼問題,文檔的編碼方式有很多,一個文本閱讀器應支持多種編碼。解決編碼問題的方式有多種,可以通過讀取文件頭來判斷。對于txt文檔來說,如果只需要支持UTF-8,Unicode和GBK的話,只需要讀取文件的頭兩個字節就可以了。網上也有一些開源的判斷編碼的jar包,比如說cpdetector.jar等。但是讀取文件頭是一種很不錯的選擇,因為相較于調用開源的jar包,讀取文件頭的方式十分快速。

再回到分塊讀取的問題上來。無論采用哪種流進行分塊讀取,定位都是一個很棘手的問題,比如說以字節讀取,那么就要根據編碼來處理定位,否則就會出現亂碼。如果直接讀取字符,比如說BufferedDRead里面的readline()方法。根據這種方法讀取雖然不會出現亂碼的問題,但是定位起來相當麻煩。但是采用內存映射還是一種不錯的方法。

一個文本閱讀器的實現方法有很多種,基于Android的文本閱讀器需要考慮的最基本問題就是以上提出的用哪種流,如何編碼以及如何定位問題。

參考文獻

[1] 熊健.基于Android平臺的企業移動應用開發框架的分析與設計[J].軟件,2012,33(11).

[2] 姚昱曼,劉衛國. Android的架構與應用開發研究[M].湖南《計算機與現代化》2008,11.

[3] 李剛. 瘋狂Android講義(第2版).電子工業出版社,2013,3.

[4] 景寶玉.2010中國移動應用開發現狀與趨勢大調查,2011.

[5] ITEYE.技術網站. http://www.iteye.com/

[6] JavaEE.技術社區.http://www.j2eedv3.com/

主站蜘蛛池模板: 欧美高清三区| 国产在线98福利播放视频免费| 国产午夜无码专区喷水| 亚洲性视频网站| 国产成人超碰无码| 国产综合色在线视频播放线视| 国产成在线观看免费视频 | 国产麻豆福利av在线播放| 亚洲毛片网站| 精品国产香蕉伊思人在线| 天天激情综合| 香蕉色综合| 精品色综合| 欧美中文字幕无线码视频| 国产成人精品2021欧美日韩| 第九色区aⅴ天堂久久香| 国产高清精品在线91| 韩日无码在线不卡| 超薄丝袜足j国产在线视频| 播五月综合| 亚洲黄色网站视频| 色播五月婷婷| 国产成人91精品| 99热国产在线精品99| 妇女自拍偷自拍亚洲精品| 无码国内精品人妻少妇蜜桃视频| 久久综合九九亚洲一区| 日韩精品毛片人妻AV不卡| 亚洲男人天堂久久| 欧美三級片黃色三級片黃色1| 欧美日韩免费在线视频| 日本人又色又爽的视频| 综合色区亚洲熟妇在线| 免费视频在线2021入口| 国产AV毛片| 亚洲一区二区日韩欧美gif| 亚洲国产精品无码久久一线| 91 九色视频丝袜| 最新无码专区超级碰碰碰| 欧美一区二区三区不卡免费| 日韩一区二区三免费高清| 97在线国产视频| 精品人妻无码区在线视频| 日韩a级毛片| 国产在线自在拍91精品黑人| 亚洲成人一区二区| 色综合天天综合中文网| 亚洲免费毛片| 色AV色 综合网站| 亚洲男人天堂网址| 国产成人高清在线精品| 高潮毛片无遮挡高清视频播放| 久久超级碰| 色婷婷电影网| 欧美日韩一区二区三区四区在线观看 | 国产福利2021最新在线观看| 国产另类视频| 欧美国产日产一区二区| 亚洲欧洲免费视频| 国产高清在线精品一区二区三区| 热re99久久精品国99热| 色欲国产一区二区日韩欧美| 2021国产精品自拍| 久久一日本道色综合久久| 麻豆精品视频在线原创| 真人高潮娇喘嗯啊在线观看| 亚洲欧美一级一级a| 777国产精品永久免费观看| 91福利一区二区三区| 99久久免费精品特色大片| 欧美福利在线| YW尤物AV无码国产在线观看| 国产熟睡乱子伦视频网站| 99re在线视频观看| 欧美精品H在线播放| 女人毛片a级大学毛片免费| 欧美激情成人网| 日韩第八页| 有专无码视频| 久久成人免费| 欧美天天干| 久久久国产精品免费视频|