본문 바로가기

IT/Android

9/21 read post

728x90
반응형

1.

출처 : Our experience in migrating to coroutines from RxJava

제목 : Our experience in migrating to coroutines from RxJava

요약 : rxJava 를 코루틴으로 변경하는 이유에 대해서 JVM 플랫폼만 사용하는 RxJva 에 대한 종속성을 없애고 Kotlin 다중 플랫폼을 지원하기 위해 변경한다고 설명합니다. 마이그레이션 하면서 단위 테스트 및 exception 전파에 대해 유의하라고 설명합니다.

 

2.

출처 : 5 Android WebView Secrets You (Probably) Didn’t Know

제목 : 5 Android WebView Secrets You (Probably) Didn’t Know

요약 : URL 가로채기, basic web authentication, javaScript 를 이용한 버튼 및 editText 에 대한 리스너 설정, javascript 경고 띄우기, webview 에서 android 파일 선택기 띄우는 방법을 코드로 설명합니다.

 

3.

출처 : Deep dive into Android build process

제목 : Deep dive into Android build process

요약 : 안드로이드 빌드 프로세스에서 대해서 설명합니다. 리소스를 컴파일 하고, 코틀린 및 자바 파일을 컴파일 하고, 앱 크기를 축소화하고 난독화 및 최적화 하고 dalivik 바이트 코드(dex 파일)를 생성하고 zipalign 을 이용하여 앱을 최적화 하는 과정을 설명합니다.

 

4.

출처 : How does the Android Image Loading library solve the slow loading issue?

제목 : How does the Android Image Loading library solve the slow loading issue?

요약 : 이미지 로딩 라이브러리는 어떻게 이미지를 빠르게 로딩하는지에 대해서 설명합니다. 로딩이 느린 주된 이유중 하나는 view 가 window 밖에 있거나 더이상 필요하지 않은 경우에도 다운로드 or 비트맵 디코딩과 같은 작업을 취소하지 않기 때문인데 라이브러리는 fragment 같은 것을 인자로 받아 생명 주기에 따라 적절히 취소하고, 메모리, 디스크 캐시를 사용하기 때문에 빠르게 로딩한다고 설명합니다.

 

5.

출처 : https://medium.com/proandroiddev/activity-embedding-in-android-b07da14b715

제목 : Activity Embedding in Android

요약 : activity embedding 에 대해서 설명합니다. list/detail 패턴의 예를 들어 구현하는 방법과 동작을 설명합니다. spilt rule 을 정의해야만 사용가능하며 사용자에게 큰 화면에서 더 많이 보고 실행할 수 있는 환경을 경험하도록 한다고 설명합니다.

 

6.

출처 : [번역] SingleLiveEvent를 kotlin의 Channel/Flow로 대체하기

제목 : [번역] SingleLiveEvent를 Kotlin의 Channel/Flow로 대체하기

요약 : channel 을 사용하게 되면 configurationChanged 가 될 때 coroutineContext 가 취소되서 더이상 동작하지 않는 문제가 있습니다. 이 문제를 해결하기 위해 broadcasChennel 을 사용해야 한다고 설명합니다.

 

7.

출처 : A safer way to collect flows from Android UIs

제목 : A safer way to collect flows from Android UIs

요약 : repeatOnLifecycle 및 flowWithLifecycle API 를 사용하는 방법에 대해서 설명합니다. callbackFlow 를 사용할 경우 launchWhenStarted 로 수신하더라도 callback 을 생산하는 것은 지속적으로 발생하기 때문에 수동으로 직접 job 을 stop 시 취소해야 한다고 설명합니다. repeatOnLifeCycle와 flowWithLifecyle 도 같은 동작을 한다고 설명합니다.

 

8.

출처 : StateFlow 를 collect 할때의 주의할점

제목 : StateFlow를 수집할때의 주의할점

요약 : stateFlow 를 사용할 때 stateFlow 는 데이터를 수집하기 위해 무한루프를 수행하므로 stateFlow.collect 이후에 작업을 하고 싶다면 별도의 launch를 수행해야 한다고 설명합니다.

 

9.

출처 : Jetpack WindowManager Updates

제목 : Jetpack WindowManager Updates

요약 : jetPack windowManager 의 업데이트 내용(버전 alpha02 기준)을 설명합니다. 기존 생성자가 deprecated 되었고 DeviceState 가 deprecated 되고 DispalyFeature가 추가되었습니다. R8 에 ‘keep’ 규칙을 추가하고 WindowMetrics API 가 추가되었습니다.

 

10.

출처 : Migrating to Android Billing Library v4.0

제목 : Migrating to Android Billing Library v4.0

요약 : android billing library 4.0 마이그레이션에 대해서 설명합니다. billingClient method callback 은 백그라운드 스레드에서 호출되는데, 이때 ui 업데이트를 하는지 확인해야 합니다. queryPurchases 는 queryPurchasesAsync 를 위해 더이상 사용되지 않고, setOldSku 및 setReplaceSkusProrationMode 메서드가 제거되고 BillingFLowParams.SubscriptionUpdateParams 를 사용해야 합니다. Purchase.isAcknowledged 메서드를 이용하면 구매가 처리되었는지 여부를 확인할 수 있습니다.

 

선정 : 인앱 결제에서 주의해야 할 부분과 마이그레이션이 잘 되었는지 카카오웹툰에 확인해보면 좋을 것 같아 선정합니다.

 

소요시간 : 3시간

728x90
반응형