Совместимость Jetpack Compose - сохранить экземпляр представления
Я разрабатываю приложение с помощью Jetpack Compose. В моем проекте мне нужно добавить настраиваемый вид карты, в котором используется. При создании этого представления требуется время, чтобы все инициализировать. Теперь, когда я перехожу к другому экрану и возвращаюсь к экрану карты, процесс настройки выполняется снова, что приводит к зависанию анимации. Я знаю что естьremember
, но это полезно только для перекомпоновки, а не при переходе между экранами. И сохранение экземпляра представления в модели представления мне кажется неправильным.
Есть ли способ сохранить инициализированный экземпляр этого
GLSurfaceView
во время lofetime приложения?
(Мой компонуемым выглядит более или менее , как это )
1 ответ
Попробуйте использовать
rememberSaveable(Unit) { }
вместо
remember {}
. Значения, сохраненные таким образом, живут при переходе к другим представлениям и обратно.
It behaves similarly to remember, but the stored value will survive the activity or process recreation using the saved instance state mechanism