2014-06-26 61 views
1

我正在移植的大部分應用程序都是用C++編寫的。我需要使用從本機代碼中檢索的數據在ListView中顯示大量行。Android:從本地數據源填充ListView的最佳方式

說例如我有50,000行數據 - 實際上是歌曲名稱。我擔心性能會變慢,我也擔心會不必要地使用大量內存。

什麼是填充ListView的最佳方式 - 我應該:

  1. 獲取JNI代碼通過 使添加從C調用()的調用來填充的所有項目一個ArrayList ++?
  2. 一些如何填充 的數字可見行的ListView實際要求?
  3. 別的東西

它只是恰巧,我檢索數據也是SQLite數據庫 - 不知道這會幫助的事項或沒有。理想情況下,我希望在C++代碼中保留所有數據庫訪問權限,但在開始執行此任務之前,我願意提供建議。

回答

2

正如您已經提到SQLite數據庫中可用的數據,您可以使用Android中提供的SQLite相關類從Android應用程序層訪問此SQLite數據庫。它可以幫助您通過JNI層額外處理數據。同時修改列表項目將直接在SQLite數據庫上完成,而不是通過JNI層&更新本地層中的相同數據(這裏我猜它是C++)。

+0

好吧,我想這可能是要走的路。理論上我希望有更少的開銷,希望能有比調用add()50,000次更好的方法。謝謝。 – SparkyNZ

相關問題