Moin,
also ich persönlich habe die Feststellung gemacht, dass Performanceprobleme immer und ausschließlich an mir liegen.
Und auch bei dir würde ich behaupten, dass das Problem nicht die Aufteilung der Klassen ist.
Ich persönlich versuche ja, die Apps auf den langsamsten und grottigsten Geräten zügig zum Laufen zu bekommen und dem User möglichst nicht mit irgendwelchen Dingen auf die Nerven zu gehen.
Insofern sehe ich in deinem Konzept schon einmal mindestens zwei Fallstricke, die ich meinen Usern nicht zumuten möchte.
1) Du machst viel über das Internet. Sehr viel. Verdammt viel. Viel zu viel.
Wenn ich deinen Mediaplayer jetzt im Ausland nutzen möchte, dann werde ich dabei vermutlich arm. Die Kosten für Auslandsroaming werden mich auffressen.
2) Weiterhin ist das Gerät nur am Arbeiten, permanent. Wenn der wirklich 1x je Sekunde $irgendwas im Netz macht, dann braucht er dafür Strom (den Datenteil des GSM-Modems starten und verwalten), RAM (die Connection speichern, Daten holen, die noch verarbeiten) und CPU Leistung. Alles in Allem also alles Andere als performant.
Navigon und Konsorten rufen die Ortsbestimmung ab, doch das geschieht über Location Services, nicht über das Internet. Generell ist es so, dass das GPS Modem im Hintergrund agiert, sobald eine App darauf zugreift. Das ist völlig okay und der Stromverbrauch ist konstant hoch. Das wird nicht weniger, wenn du einen Zeitintervall einstellst. GPS funktioniert nur mit permanenter Verbindung. Die Timeouts, die du einstellst, sind lediglich Schwellwerte an denen das Betriebssystem dir die neuen Daten mitteilt. Ob du jetzt jede geänderte Location mitnimmst oder dich nur alle 15 Minuten informieren lässt ist irrelevant für den Stromverbrauch des GPS Modems.
Doch natürlich sieht das Ganze komplett anders aus, wenn du nur alle 15 Minuten mal mit Google quatscht um die Position anzeigen zu lassen oder ob du das jede Sekunde tust. Deine Internetlastigkeit dürfte hier das Hauptproblem sein.
Was bezweckst du eigentlich genau mit dieser App?
Mein erster Gedanke wäre, eine Art Kombiapp für Jogger anzubieten. Einerseits ein Musikplayer und andererseits können sie ihre Laufstrecke per GPS tracken.
In dem Fall wäre natürlich der Medienplayer als Service eine gute Idee. Gibt es da keine fertige Komponente im OS?
Und in dem Fall bräuchtest du auch überhaupt keine Map mitlaufen lassen. Das wird den Jogger ebenso wenig interessieren wie die Position des aktuellen Titels.
(Auf seiner Strecke sieht er ungefähr wie weit er ist und bei seinem Titel hört er es vermutlich ungefähr, da er ja seine bekannte Joggingliste abspielt.)
Das Speichern der GPS-Koordinaten würde trotzdem funktionieren und am Ende kann er das ja meinetwegen als GPX oder KML exportieren und sich online oder mit Google Earth anschauen.
Wie dem auch sei, hier Tipps zu geben wird schwierig, wenn man das Anwendungsgebiet deiner App nicht kennt.