※ 引述《MattBonner (毀滅性射手)》之銘言:
: 小弟目前在寫一個App
: 目的要讀取SD卡中的dat檔,然後把裡面的整數存到陣列
: dat檔大約內容如下 test.dat
: 1
: 2
: 3
: 4
: 5
: 6
: 7
: 一行一個整數值,整個檔案有1萬多行,也是1萬多個數值
: 程式目標是用2維陣列,每讀取1024個值就換一個row
: 程式碼如下
: http://paste.plurk.com/show/1505746/
: 執行出來的結果沒什麼問題
: 問題是執行速度很慢
: 如果用一般的Java project一瞬間就好了
: 如果用Android裝置來Run 10x1024個數字大概要花7秒以上
: 請問為什麼會這樣
: 有什麼方法可以改善嗎
: 謝謝各位大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.50.132
對於手持裝置的處理數據速度而言,請撇開一般使用pc角度。
畢竟兩者是不同的硬體裝置。
(美洲豹跟波斯貓,同屬貓科。為什麼波斯貓跑的那麼慢呢?
請恕我做了一個這樣子的譬喻。)
-------------------------------------------------------------
接著我提出幾點建議,原po可參考看看:
1.對於處理這樣子的問題,可以分成兩個階段
第一階段首先從test.dat中撈出部分資料並顯示出來。
接著在使用thread/async/..非同步處理程序來撈出最後資料。
畢竟在一個使用者閱讀畫面而言,一個畫面不可能顯示出全部的資料。
2.從原始資料先作前置處理,以利APP讀取。
--------------------------------------------------------------
上述是根據本人以往經歷所做出的建議。
對於一萬多筆的資料而言,也並不是說是大量資料。
(畢竟一萬多筆的資料而言,對於字典的數據來說是小巫見大巫。)
若上述有何謬誤,敬請多多指教。0.0