CS 질문
- 커널이란 무엇인가?
- 운영체제는 커널과 시스템프로그램으로 구분된다.
- 운영체제의 핵심부로 컴퓨터자원(cpu, 메모리, 파일, 네트워크, 입출력 장치 등)들을 관리하는 역할을 수행한다.
- 하드웨어와 운영체제사이에 인터페이스를 제공한다.
- 커널은 컴퓨터자원만 지켜보고있어 사용자와 상호작용을 위해 쉘과 같은 명령어 해석기가 있다.
- 가장 큰 목표는 물리적자원과 추상화자원을 관리하는것
- 커널의 3가지자원 1. 프로세스 2. 메모리 3. 저장장치
Android 질문
- Activity 생명주기는 어떻게 구성되어 있나요? Activity는 생명주기를 가지고 있는데 activity가 처음 생성되고 사라지는 주기를 말한다. 예를 들어 앱이 생명주기에 따라 처음 켜질 때 activity가 생성되고 앱이 꺼질 때 activity가 사라지게 된다. 각 생명주기에 따라 호출되는 함수에는 onCreate(), onStart(), onResume(), onPause(), onStart(), onRestart(), onDestroy() 가 있다. 불투명한 새로운 액티비티가 최상단으로 올라와 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어서 onStop()까지 바로 호출된다. onPause()까지만 호출하고 싶다면 투명한 새로운 액티비티를 실행해야한다. 다이얼로그를 띄우게 되면 onPause()가 올 것 같지만 아무 함수가 호출되지 않는다. 이처럼 상황에 따라 생명주기를 알고 잘 활용해서 개발을 해야한다.
databinding적용
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.ksp)
id("kotlin-kapt")
}
buildFeatures {
dataBinding = true
}