본문 바로가기

메모리4

Android의 효과적인 메모리 관리 안드로이드의 메모리 관리 방법에 대해 설명하려 합니다. 잘못된 부분이나 이해가지 않는 부분이 있다면 댓글 꼭 달아주세요! 안드로이드는 페이징 기법을 사용합니다. 페이징에 대해서는 설명이 잘 되어있는 글이 많기 때문에 페이징에 대한 설명은 넘어가겠습니다. 안드로이드는 사용 가능한 메모리가 있다면 메모리를 낭비하고 있다고 보고 사용 가능한 메모리를 최대한 사용하려고 합니다. 앱이 닫힌 후에도 앱을 메모리에 보관하여 사용자가 앱으로 빠르게 다시 전환할 수 있게 하는 등 사용 가능한 메모리를 최대한 사용하기 때문에 메모리 관리를 알고 올바르게 사용하는 것이 중요합니다. zRAM Android는 zRAM을 활용합니다. zRAM 이란? RAM의 파티션(램의 일부분)으로 스왑 공간으로 사용됩니다. 페이지를 zRAM에.. 2023. 11. 13.
안드로이드 서비스(Service) 알아보기 서비스(Service) 알아보기 안녕하세요 안드로이드 개발자가 되기 위해 노력하는 서경원입니다. 서비스에 대해 공부한 내용을 정리하고 설명해드리려고 합니다. 이해가 안되는 내용이나 제가 잘못 적은 부분이 있다면 꼭 댓글 남겨주세요. 안드로이드에서 중요한 서비스에 대해 설명하려 합니다. 서비스는 안드로이드 4대 컴포넌트 중 하나 입니다. 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 애플리케이션 구성 요소로 백그라운드에서 러닝 트래킹을 실행하거나 음악을 재생할 때 사용합니다. 서비스는 메인 쓰레드에서 동작하기 때문에 ANR 발생을 조심하여 사용해야합니다. 서비스는 startService() 와 bindService() 로 2가지 방법으로 실행할 수 있습니다. startService() startSer.. 2023. 6. 19.
2. bindService를 적용하여 메모리 누수 방지하기 (RunWithMe 리팩토링) 2. bindService 적용하여 메모리 누수 방지하기 안녕하세요 RunWithMe 리팩토링 프로젝트에서 팀장과 안드로이드 개발을 맡은 서경원입니다. RunWithMe 프로젝트를 리팩토링하면서 배우게 된 내용에 대해서 설명해보려합니다. 이해가 안되는 내용이나 제가 잘못 적은 부분이 있다면 꼭 댓글 남겨주세요. startService와 bindService Service를 제대로 적용하기 위해 Service에 대해 공부했고 그 중 startService와 bindService의 차이점을 명확히 알고자했습니다. 아래는 startService와 bindService에 대한 설명입니다. 안드로이드에서 startService()와 bindService()는 서비스를 시작하는 두 가.. 2023. 5. 25.
백준 자바 2775번 일차원 배열만 사용하여 메모리 줄이기 백준 자바 2775번 부녀회장이 될테야 이 문제를 찾아보면 대부분 2차원 배열을 사용하여 푸는 것을 볼 수 있습니다. 1차원 배열만 사용하여 메모리를 줄여서 푸는 방법을 가져왔습니다. 2차원 배열을 사용하는 것보다 메모리는 1000KB 적게 나옵니다. (하지만 만약에 데이터 크기가 크다면 훨씬 더 나겠죠?? 조금이라도 줄여봅시다!) public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWr.. 2022. 1. 26.