본문 바로가기
반응형

[클라이언트]/[Android Kotlin]83

안드로이드 플랫폼 구조를 알고 계신가요? ⛑ Linux 커널우리가 사용하는 Android의 운영체제를 구동하는건 리눅스 커널 기반이다Android Runtime이 스레딩, 하드웨어 제어, 시스템 리소스 관리와 같은 기본 기능을 Linux 커널을 이용사용자나 개발자가 이 계층을 다룰 일 X이곳에서 동작하는 Binder IPC 라는 녀석이 있다.프로세스 간 통신을 위한 메커니즘서비스와 콘텐트 프로바이더는 Binder IPC를 통해 다른 프로세스에 접근프로세스 통신할 때 마다 커널로 들어간다startActivity도 system_server 프로세스가 액티비티를 찾고, system_server 와 어플리케이션 프로세스가 통신할 때 커널모드로 들어간다.액티비티를 여는데 매번 커널모드?→ startActivity()를 호출하면 앱 프로세스는 system.. 2025. 5. 18.
[Android] AI에는 왜 GPU를 쓸까? / 하드웨어 비트맵 알아보기 - 1 CPU와 GPUCPU와 GPU는 둘 다 데이터를 읽어들여 연산처리하는 기능을 수행하지만, 이름과 구조에서 알수 있듯이중앙 처리 장치(CPU)와 그래픽 처리 장치(GPU)는 역할이 매우 다릅니다. CPU- 직렬 명령 처리에 특화되어 있습니다.이는 한 번에 한 가지의 명령어만 처리한다는 것을 의미하고, 따라서 연산을 담당하는 ALU의 개수가 많을 필요가 없습니다.예를 들어, Octa-core CPU의 경우 코어 당 1개씩 총 8개의 ALU가 탑재되어 있는 제품입니다. - 낮은 대기 시간그림처럼 CPU 내부의 절반 이상은 캐시 메모리로 채워져 있습니다. 그만큼 응답 속도를 높일 수 있습니다.CPU는 GPU에 비해 GHz가 높습니다. Hz란 1초에 몇번 틱 하냐인데, 이것이 높을 수록 응답 속도가 높을 수.. 2025. 5. 5.
[당신이 잠든 사이에] 포그라운드 서비스와 백그라운드 서비스의 변천사 (Service, IntentService, JobIntentService, WorkManager, AlarmManager) '당신이 잠든 사이에' 앱을 2017년부터 개발하여 유지하면서, 'Service' 에 대한 정책적인 변화를 겪어왔습니다.이번 글에서는 'Service' 의 개념과 종류, 그리고 정책이 변화되면서 무엇이 없어졌고 생겼는지에 대한 변천사도 간단히 정리해보려 합니다.  글을 읽기 전에,AlarmManager의 다양한 함수들(set, setExact, setExactAndWhileIdle, setAlarmClock)와Doze/App Standby/Idle/배터리 최적화 제외 등의 개념을 작성해 놓은 글이 있어서, 먼저 참고하시면 좋을 것 같습니다https://hevton.tistory.com/899 [AlarmManager] - Doze, App StandBy, 배터리 최적화, Idle 상태에 대해Doze 모드.. 2025. 3. 31.
Paging3 적절히 판단해서 사용하기 채팅 로그 서비스 개발에 사용했던 Paging3에 대한 경험을 기록합니다. Room 기반으로 채팅 데이터를 기록하고, 이 데이터를 Paging3 를 활용하여 보여줍니다.하지만 원하는 요구사항에 항상 Paging3가 맞아 떨어지진 않았습니다.Paging3를 사용할지 직접 구현할지를 결정하고, 그 경험을 기록합니다. 1. Gallery 뷰에 Paging3 활용 사례우선, Paging3를 활용했던 경우에 대해서 먼저 이야기하겠습니다. Gallery 뷰의 진입점은 채팅방 -> 갤러리로 이뤄지고 있습니다.휴대폰의 기본 갤러리 앱 처럼, N x 3의 그리드 형식으로 사진들을 보여줘야 하고날짜에 따라 날짜 헤더 구분자 또한 필요합니다. 우선 이 요구사항들을 기반으로, Paging3를 구현하게 된다면 두 가지 방법이 .. 2025. 3. 17.
반응형