Leistungsmetriken, die zählen
| Metric | Ziel | Auswirkung |
|---|---|---|
| Startzeit | < 2s kaltstart | Rückgewinnung von Benutzern |
| Frame Rate | 60fps konsistent | Perzipierte Glätte |
| Speicherverbrauch | < 150MB Durchschnitt | Verhinderung von Abstürzen |
| Batterieauswirkung | < 5% pro Stunde aktiv | Benutzerzufriedenheit |
Optimierung der Darstellung
FlatList-Optimierung
Bei langen Listen ist eine korrekte FlatList-Konfiguration entscheidend für eine glatte Scrollbewegung.
<FlatList
data={items}
renderItem={renderItem}
keyExtractor={item => item.id}
getItemLayout={(data, index) => ({
length: ITEM_HEIGHT,
offset: ITEM_HEIGHT * index,
index
})}
removeClippedSubviews={true}
maxToRenderPerBatch={10}
windowSize={5}
/>Bildoptimierung
- Verwenden Sie das WebP-Format für 25-35% kleinere Dateien
- Implementieren Sie eine progressive Belastung mit Blur-Platzhaltern
- Cache aggressiv mit richtiger Invalidation
- Skalieren Sie Bilder für verschiedene Bildschirmdichten
Speichermanagement
// Vermeiden Sie Speicherverluste — reinigen Sie immer Abonnements
useEffect(() => {
const subscription = AppState.addEventListener('change', handler);
return () => subscription.remove();
}, []);
// Verwenden Sie lazy Loading für schwere Komponenten
const HeavyComponent = React.lazy(() => import('./HeavyComponent'));Batterieeffizienz
- Gruppieren Sie Netzwerk-Anfragen anstatt vieler kleinerer
- Verwenden Sie Hintergrundabfrage anstatt kontinuierlicher Abfrage
- Implementieren Sie eine richtige Strategie für Standortaktualisierungen
- Minimieren Sie den Sensorverbrauch, wenn nicht erforderlich
Profiling-Tools
- React Native: Flipper, React DevTools Profiler
- Flutter: DevTools, Timeline-Ansicht
- iOS: Instruments, Xcode-Energie-Log
- Android: Android Studio-Profiler, Systrace