2012-03-07 144 views
0

我有一個應用程序,其中我使用的是一個sqlite數據庫PRAGMA user_version 5在Android設備上的SQLite數據庫

在這裏我有三個表格,其中我添加了一些數據並刪除了一段時間間隔的數據。添加數據和從sqlite數據庫刪除數據發生在啓動畫面之後。

現在的問題是,當我測試了三種不同版本的Android設備中的相同構建如下。

1. Motorola(2.1) - more than a year old 
2. SamsungAce(2.3) - buyed 8 mnths before 
3. Xperia(2.3) - new device. 

在這個三個裝置中,當該應用被加載,僅在2.1它需要很長的時間(一個多小時)來從源碼分貝添加或刪除的數據。在其他兩種設備中,只需要2到5分鐘的時間就可以加載。

爲什麼該應用在2.1版本中變慢。就是這樣,因爲版本或設備已經變得很老

請澄清我這個疑問...

+0

請張貼一些代碼來檢查實際工作中的問題是什麼.. – 2012-03-07 05:38:31

+0

我不要覺得代碼有問題,因爲應用程序rus在2.3版本的設備中很好(一個是舊的,另一個是新的)。但是,當涉及到一箇舊設備的2.1它會死緩... – 2012-03-07 05:44:11

+0

@SivaK 2-5分鐘是一個很長的時間,恕我直言,保存數據到一個分貝,除非它*一*巨大的數據量,但如果不是我'米不知道我會稱它「工作正常」.. – Joe 2012-03-07 07:35:59

回答

1

應該有,將是2.1和2.2/2.3之間的不同速度的結果,因爲它們使用了不同版本的sqlite3的 - 2.1用途slite 3.5.9和2.2 & 2.3使用3.6.22 .. ,它確實改變了速度(更高的版本並不總是更快..這取決於查詢和爭議開放),雖然我無法找到兩個版本之間的速度測試比較。

但是...

2000刀片是什麼..如果它顯然從另一個(開/流)源不應該採取更多然後幾秒鐘的讀取已知數據插入.. 你可以嘗試爲了測試而刪除代碼,並嘗試僅用於LOOP 2000插入並測試時序。

,如果你能告訴我們你的代碼也許有別的東西你不支付顯著喜歡你是從獲取數據源..

2

有一兩件事,我可以建議是使用交易。通過它的外觀,你正在對數據庫執行多個查詢,如果這些查詢是在一個事務中,SQLite將表現得更好。

考慮到來自Siva K的評論,即使2-5分鐘的時間似乎很長,除非您添加或刪除海量數據。

如果交易無助於發佈您的代碼,即使2-5分鐘似乎很長。如果用戶必須等待2-5分鐘才能添加/刪除/更新應用程序。不會帶來好的體驗。