본문 바로가기
♞ | 공부일지/♝ | TIL

[Android] 공부일지(2024-09-02)

by immgga 2024. 9. 2.
오늘 공부한 내용 정리(2024년 9월 2일)

 

출처: unsplash.com

 

코드카타 문제풀이

네 번째 점

https://rkdrkd-history.tistory.com/231

 

[Kotlin, B3] 백준 3009번 네 번째 점

네 번째 점(3009번)Bronze 3#구현 #기하학https://www.acmicpc.net/problem/3009 문제 내용  문제 접근3개의 점의 좌표가 주어질 때, 축에 평행한 직사각형을 만들기 위해 필요한 네 번째 점을 출력해야 한다.

rkdrkd-history.tistory.com

 

 

면접 이론 학습 15일 차

면접 이론 학습 15일 차

전역 변수와 정적 변수의 차이

전역 변수는 다른 외부 파일에서도 접근이 가능한 변수.

정적 변수는 해당 파일에서만 접근이 가능한 변수이다.

 

초기화하지 않은 정적 변수의 경우 본문에서 사용하지 않으면 아예 메모리에 올라가지 않는 특징이 있다.

 

Android에서 Parcelable과 Serializable의 차이점과 사용 시기

Serializable은 Android SDK가 아닌 표준 Java 인터페이스이다.

Parcelable은 Java가 아닌 Android SDK 인터페이스이다.

 

Serializable은 내부에서 Reflection을 사용해 직렬화를 처리한다.

Reflection은 프로세스 동작 중에 사용되어 처리 과정 중에 많은 추가 객체를 생성한다.

이 현상은 성능 저하 및 배터리 소모의 원인이 될 수 있다.

 

Parcelable은 구현해야 하는 필수 메서드를 포함하기 때문에 클래스에  보일러 플레이트 코드가 추가된다.

이는 클래스를 이해하기 어렵게 하고, 새로운 기능을 추가하기 힘들게 한다. 또한 클래스가 복잡해져 유지 보수가 어려워지는 원인이 된다.

 

 

개인 공부

부트캠프 팀 프로젝트

디톡스 타이머 작동 중 사용을 허가할 앱을 실행했을 때의 기능 구현 중

기존에는 앱을 실행했을 때, 실행한 앱의 제한 시간만큼의 카운트다운 타이머를 Service를 상속받은 class에서 사용해서 데이터를 받아오려고 했다.

왜냐하면 데이터를 앱이 background에 있는 상태여도 남은 카운트다운이 나와야 하니까 Service를 사용했는데, 좀 만져 보니까

Activity나 Fragment에서 써도 똑같이 background 상태여도 카운트다운이 정상적으로 됐다.

그래서 지금 현재는 CountDownTimer와 SharedPreferences를 사용했는데, CountDownTimer 하나로 써도 상관없을 것 같다. 내일 적용해 볼 생각이다.

 


 

오늘 공부 내용 정리 및 회고

하루 종일 background 처리에 대한 삽질을 한 날이다.

Service를 사용하지 않아도 background에서 쓸 수 있다는 사실을 안 것으로도 큰 수확이다.

내일은 바로 CountDownTimer만 이용해서 로직을 구현해 보려 한다.

내일 기능 구현 이 완료되면 포스팅을 올려 보겠다.

728x90