Document process lifetime voice ownership and core shutdown prerequisites
This commit is contained in:
1 parent
d0d63c1d4b
commit
268e8794ab
1 file changed
+5
-1
@@ -104,7 +104,11 @@ JNI init регистрирует callbacks/recorder; SQLite открывает
|
||||
`NativeLib.stop/destroy` снимает media-владельцев на main и ждёт native worker на IO. `HeadlessService`
|
||||
передаёт остановку в общий `CoreShutdown`, который переживает onDestroy; новый Service ждёт его до init.
|
||||
Отказ stop повторяется автоматически с backoff 250 мс..30 с, без нового Service/request.
|
||||
Отмена одного ожидающего Service не отменяет очистку. Диагностика worker не считает живые ресурсы
|
||||
Отмена одного ожидающего Service не отменяет очистку. AudioRecorderManager запрашивает cleanup вне main,
|
||||
удерживает AudioRecord/AudioTrack и decoder handles до подтверждённого release, включая ViewModel.onCleared.
|
||||
NativeLib не разрушает recorder до завершения этих владельцев; во время teardown новый capture запрещён.
|
||||
Подготовка звонка также ждёт voice cleanup, а отмена звонка не отменяет это ожидание.
|
||||
Диагностика worker не считает живые ресурсы
|
||||
frontend утечками: recorder освобождается bridge после остановки ядра.
|
||||
|
||||
| Владелец | Ресурсы |
|
||||
|
||||
Reference in new issue
Block a user