자바에서 컬렉션을 병렬처리하기 위해 parallelStream api를 사용한다. 여기서 병렬 스트림을 효율적으로 사용하기 위해서는 해당 api를 사용하는 컬렉션이 어떤 컬렉션인지 중요하다. 결론만 말하자면 ArrayList 를 사용했을 때 병렬스트림의 효용을 잘
Cleaner란 Java 9에서 도입되었으며, 이전의 finalize() 메서드보다 더 안전하고 효율적으로 네이티브 리소스나 외부 리소스를 해제하는 데 사용된다.이 모듈은 특정 리소스가 가비지 콜렉터에 의해 해제될 때 임의의 동작을 수행하도록 하기 위해 사용된다.Cle
https://android-developers.googleblog.com/2025/09/improve-app-performance-with-optimized-resource-shrinking.html?m=1위 포스팅을 보고 정리AGP 8.12.0버전부터 op
오늘은 Stateful Operation은 무엇인가에 대해 공부해보았다..먼저 Stateful Operation에서 Stateful의 개념은 하나의 요소를 다른 것으로 프로세싱하기 위해 내/외부적으로 가변의 상태를 갖는 것이다.예를 들어 Stream API에서 limi
https://youtube.com/shorts/OMVt7ApADwc?si=zOzx7oG2cSW-atV1안드로이드 스튜디오에서 proguard rule 작성한 것을 검사하는 기능이 추가된 듯 하다..이 기능을 이용해 현재 서비스에 적용되어있는 프로가드 룰이 남
기존 플젝에는 특정 위젯의 visibility를 체크하기 위해 Modifier.onGloballyPositioned를 써서 콜백으로 넘어오는 LayoutCoordinates를 활용하고 있었다..BOM 2025.05.01 버전에서부터 위처럼 특정 위젯의 위치 같은 것들을
Java에서 file을 memory로 mapping시키는 방법은 두 가지가 있다.ByteBufferArena여기서 arena는 Java 22에서 추가된 JVM에서 native memory segments를 관리하는 foreign function api이다..덧붙여 An
1.8.0부터 출시된 Pausable Composition에 대해 알아보겠다..https://android-review.googlesource.com/위 커밋에 추가된 기능으로.. 전체 Composition 과정을 중단 가능하게 만들어, 실제로 필요한 시점에만
오늘은 androidx.collection에 있는 ScatterMap에 대해 알아보겠다.안드로이드에서 제공하는 데이터 컨테이너들은 대개 메모리 최적화되어있는데 ScatterMap도 그 목적에 맞다.이 모듈은 flat hash table 기반으로 이루어져있어 HashMa
자바에서는 String의 substring 함수를 이용해 substring을 얻을 수 있다.substring(int beginIndex)(https://docs.oracle.com/javase/8/docs/api/java/lang/String.htmlsubst