Hi hi,
I've got a script which gets data from a MySQL database through an http request, puts it into a json array, then puts each item into an itemized overlay array so that each item can be put onto a map.
Problem is, it takes > 5 minutes to load all the items into the itemized overlay, and is then dog-slow at actually running. It starts by adding then quickly, then slows down to around 5-10 seconds per item later on.
So, my question is this: how can I speed it up? Do I need to free up each overlay item after I use it (if so how), or would it be faster to put everything into a local SQLite database and use that instead?
Cheers in advance!
MySQLConnect mysql = new MySQLConnect();        
JSONObject jObjSite = new JSONObject();        
JSONArray jArray = mysql.parseJson(); 
// create overlays array
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable marker = this.getResources().getDrawable(R.drawable.icon);
PzlItemizedOverlay itemizedoverlay = new PzlItemizedOverlay(marker, this);
try {           
    for(int i=0;i<jArray.length();i++){
        try {
        jObjSite = jArray.getJSONObject(i);
    //parse address
    String strAddress = jObjSite.getString("address");;
    Integer intLat = jObjSite.getInt("lat");
    Integer intLng = jObjSite.getInt("lng");
    if (strAddress.length() > 1 ) {
        String strName = jObjSite.getString("name");
        Log.i("Site.added",strName);
        GeoPoint point = new GeoPoint(intLat,intLng);
        OverlayItem overlayitem = new OverlayItem(point, strName, jObjSite.getString("phone"));         
        itemizedoverlay.addOverlay(overlayitem);
    }
    } catch (JSONException e) {
        e.printStackTrace();        
    } catch (Exception e){
    e. printStackTrace();
    }
    };
} catch (IllegalArgumentException e) {
e.printStackTrace();            
}
// add overlay to map
mapOverlays.add(itemizedoverlay);