退房Android Map Extensions。除了@ d.aemon提到的有關sqlite的內容,您可以使用聚類庫以及基於用戶在地圖上的位置動態添加標記。
集羣和動態指標快速設置,如果您使用的是Android工作室:
在的build.gradle(模塊:APP):
compile 'com.androidmapsextensions:android-maps-extensions:2.2.0'
compile 'com.google.android.gms:play-services-maps:6.5.87'
當你的代碼中創建地圖:
map.setClustering(new ClusteringSettings().enabled(true)
.addMarkersDynamically(true).minMarkersCount(5));
我沒有你做標記的金額,但該庫遠遠超過執政的谷歌工具庫。它在UI中更加流暢。我已經嘗試了各種不同的數組(列表,稀疏數組等...)來處理我的數據,到目前爲止它工作得很好。我確定按照提議使用sqlite的速度一樣快。
最初,當您添加所有標記時,您需要找出處理異步任務中最快/最好的方法(因爲我正在使用... btw Android Query是一個非常好的異步庫),因此,請檢查:
List<Marker> markers = new ArrayList<Marker>();
...而在後臺做,但與Android地圖擴展所提供的標記集羣將完成剩下的爲您服務。
我還看到過其他技術,例如在異步任務中使用計時器,基本上每次添加100個標記,然後暫停異步任務,以便UI仍然有所響應。
希望一些幫助。
你使用和數組或sqlite數據庫? – jasonflaherty 2015-01-04 03:49:31
是的..我使用數組.. – ltvie 2015-01-06 12:54:17