如果我有1M到10M的标记,那么使用HashMap是不对的吗?

时间:2016-10-14 08:41:40

标签: java google-maps hashmap

我已经使用infoWindows填充了我的地图代码,这很好用:

 query.addValueEventListener(new ValueEventListener()
                {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshots)
                    {
                        Marker marker;
                        for (DataSnapshot dataSnapshot : dataSnapshots.getChildren())
                        {
                          Location location = dataSnapshot.getValue(Location.class);
                          IdLocation.put(location,dataSnapshot.getKey());

                          marker = mgoogleMap.addMarker(new MarkerOptions()
                                   .position(new LatLng(location.getLatitude(), location.getLongitude()))                                        .title(getString(R.string.tipologia))
                                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_free)));

                         mapLocation.put(marker,location);

                        }
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError)
                    {

                    }
                });

但我不知道它是否也适用于1M / 10M标记(我的应用程序需要可扩展很多)。在这种情况下,使用HashMap是好的还是我必须使用其他东西?问题还在于InfoWindows它不接受任何参数...

谢谢

1 个答案:

答案 0 :(得分:2)

如果您需要可扩展性,我建议您使用ConcurrentHashMap,您可以关注这篇文章以获得更深层次的答案:

Scalability issue with HashMap in Multithreaded Multicore system

ConcurrentHashMap in Java?