반응형
반응형
2025년 2월 12일에 androidx.compose.ui:ui-*:1.7.8 버전이 출시되었습니다. 이번 업데이트에서는 주로 입력 변환과 관련된 버그 수정이 이루어졌습니다.
📌 주요 변경 사항
1. BasicTextField에서 입력 변환 시 발생하는 크래시 수정
- 문제점:
- 기존 버전에서는 BasicTextField에서 텍스트 입력 변환 중 일부를 붙여넣거나 교체할 때 비정상 종료(crash) 가 발생하는 문제가 있었습니다.
- 특히 입력 메서드(IMF)와 텍스트 변환 로직 간의 충돌로 인해 발생하는 이슈였습니다.
- 수정 사항:
- 입력 변환 과정에서 발생하는 예외 처리를 개선하여 안정성을 확보하였습니다.
- 붙여넣기 및 텍스트 변환 시 불필요한 setText 호출을 방지하여 퍼포먼스를 최적화했습니다.
- 예제 코드:
val textState = remember { mutableStateOf(TextFieldValue()) }
BasicTextField(
value = textState.value,
onValueChange = { newValue ->
// 입력 변환 로직 적용
val transformedText = newValue.text.replace("old", "new")
textState.value = newValue.copy(text = transformedText)
},
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
)
이전 버전에서는 위와 같은 입력 변환 로직에서 충돌이 발생할 가능성이 있었습니다. 이번 업데이트를 통해 안정성이 향상되었습니다.
🛠️ 버그 수정 목록
✅ BasicTextField 관련 수정
- 입력 변환 시 일부 텍스트를 교체할 때 발생하는 충돌 수정
- 붙여넣기 연산 중 IMF와의 충돌 문제 해결
- 입력 필드 내부에서 발생하는 setText 관련 예외 처리 강화
- 텍스트 필드에서 다중 입력 시 발생하는 불필요한 UI 리렌더링 방지
- 일부 기기에서 발생하는 포커스 손실 문제 해결
📌 업데이트 적용 방법
Gradle 의존성 추가
아래와 같이 build.gradle.kts 파일에서 최신 버전을 사용하도록 수정하세요.
dependencies {
implementation("androidx.compose.ui:ui:1.7.8")
implementation("androidx.compose.ui:ui-tooling-preview:1.7.8")
implementation("androidx.compose.foundation:foundation:1.7.8")
}
🔍 추가 참고 사항
- 이 업데이트는 기능 추가보다는 버그 수정 및 안정성 향상에 중점을 두었습니다.
- BasicTextField를 활용하는 프로젝트에서는 이 버전으로 업그레이드하여 예기치 않은 크래시를 방지하는 것이 좋습니다.
- 공식 릴리즈 노트: Android Developers
🚀 마무리
Jetpack Compose UI 1.7.8은 주요 기능 변경 없이 안정성을 높이는 버전으로, 특히 BasicTextField의 안정성을 강화하는 업데이트였습니다. 최신 버전을 적용하고, 기존 버전에서 발생했던 문제가 해결되었는지 확인해보세요!
반응형
'Updates.' 카테고리의 다른 글
Navigation Compose 2.8.8 -> 2.8.9 변경 사항 및 적용 방법 (2) | 2025.03.25 |
---|---|
🚀 Jetpack Compose BOM 2025.03.00 업데이트 정리 및 변경 사항 분석 (0) | 2025.03.25 |
Jetpack Compose 1.8.0-beta02 업데이트 상세 분석 (1) | 2025.02.14 |
Jetpack Compose 1.8.0-alpha08 업데이트 상세 분석 (1) | 2025.01.22 |