問題
現在、「CCTrackLocation」と呼ばれるカスタムオブジェクトの配列を反復処理してgpx文字列を作成しています。ただし、特に場所が多い場合は、これは遅すぎます。非同期タスクでも実行しています。
これが私のコードです。
for (CCTrackLocation location: trackLocations) {
//Log.e("CCGPXUtils", "Time wasting");
String amendedString = gpxString + "<trkpt lat=\""+location.getLatitude()+"\" lon=\""+location.getLongitude()+"\">\n" +
"<ele>"+location.getAltitude()+"</ele>\n" +
"<time>"+CCDateUtility.convertTimestampIntoGPXFormat(location.getTimestamp())+"</time></trkpt>\n";
gpxString = amendedString;
amendedString = null;
最初の500ほどのポイントは正常に変換され、その後、デバッグコンソールに「GC_FOR_MALLOC」と「GC_CONCURRENT」が表示されます。
質問
それほど時間のかからない、これを行うためのより効率的な方法はありますか?
どんな助けでも大歓迎です。