1.5 KiB
1.5 KiB
Step 9 Memory/Lifecycle Round 1
Coverage
- Audited lifecycle cleanup and resource teardown in:
iphone/Werkout_ios/subview/PlayerUIView.swiftiphone/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swiftiphone/Werkout_ios/Views/WorkoutDetail/ExerciseListView.swiftiphone/Werkout_ios/Views/ExternalWorkoutDetailView.swiftiphone/Werkout_ios/subview/AllExerciseView.swiftiphone/Werkout_ios/Views/CreateWorkout/CreateExerciseActionsView.swiftiphone/Werkout_ios/AudioEngine.swiftWekoutThotViewer/WekoutThotViewer/ContentView.swift
- Validation:
./scripts/smoke/smoke_all.sh
Fixes
-
Player view teardown safety
PlayerViewnow pauses previous players when swapping and performs explicit teardown indismantleUIView.
-
Workout detail closure retention risk
- Clears
BridgeModule.shared.completedWorkoutonWorkoutDetailViewdisappear.
- Clears
-
Player pause on dismiss across views
- Added
onDisappearplayer pause in workout detail exercise list, create-exercise preview, all-exercise preview, external display, and tvOS content view.
- Added
-
External display player reuse
- Added URL tracking + replay path to avoid reallocating AVPlayer when URL is unchanged.
-
Audio playback resource churn
- Stops existing players before replacement and logs failures via
RuntimeReporterinstead ofprint.
- Stops existing players before replacement and logs failures via
Validation
- Smoke suite passed:
- token scan
- SharedCore tests
- iOS/watchOS/tvOS builds