본문 바로가기
Efficient Android Threading #4 메모리 관리 Efficient Android Threading #4 메모리 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.6.1. 가비지 컬렉션 -각 프로세스(결과적으로 각 앱)는 자신만의 VM 과 가비지 컬렉터를 가진다. -진저브레드까지 안드로이드의 가비지 컬렉션은 메모리가 회수되는 동안 앱 실행이 중지되는 순차적 실행이었다.이는 UI rendering 의 일시적 멈춤으로 이어질 수 있었다.허니컴부터 GC 는 앱 스레드를 중지하지 않고 자체 스레드에서 동시적으로 실행된다. -달빅 GC 는 mark & swap 이라는 일반적인 두 단계 메커니즘을 사용한다.마크 단계는 객체 트리를 탐색하고 다른 객체에 의해 참조되지 않는 모든 미사.. 2018. 3. 20.
Efficient Android Threading #3 프로세스 간 통신 Efficient Android Threading #3 프로세스 간 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 5.1. 안드로이드 RPC -안드로이드의 변형 리눅스 커널 안에서, 리눅스 IPC 기술은 프로세스 사이의 RPC 메커니즘을 수행하는 바인더 프레임워크로 대체되었다.이를 통해 클라이언트 프로세스는 마치 로컬에서 메서드를 실행하듯 서버 프로세스의 원격 메서드를 호출할 수 있다. -RPC 메서드 호출 자체는 단순하지만, RPC 매커니즘의 하부는 다음과 같은 단계로 구성된다. 1. 메서드 데이터 분해(마샬링, marshalling)2. 원격 프로세스로 마샬링된 정보를 전송3. 원격 프로세스에 정보를 재구성(언마.. 2018. 3. 19.
[Django] 파이썬 웹 프로그래밍 - 웹 프로그래밍의 이해 [Django] 파이썬 웹 프로그래밍 - 웹 프로그래밍의 이해 -책을 읽으며 Remind 하는 내용, 핵심 내용, 모르던 내용을 정리한 것입니다. 예문 및 자세한 설명은 책을 구매하여 보세요~ * 1.2.1. 웹 브라우저를 사용하여 요청 * 1.2.2. 리눅스 curl 명령을 사용하여 요청 -curl 명령은 HTTP/HTTPS/FTP 등 여러 가지의 프로토콜을 사용하여 데이터를 송 수신할 수 있는 명령이다. * 1.2.3. Telnet 을 사용하여 요청 -telnet 명령은 터미널 창에서 입력하는 내용을 그대로 웹 서버에 전송한다.telnet 명령모드에서 나가려면 아래 두 라인을 입력해야 한다. ^] ( Ctrl + ] )quit .. 2016. 12. 6.
[linux] Top 의 CPU 에 표시되는 값들의 의미는? - ni, wa, hi, si ... linux, \Top 의 CPU 에 표시되는 값들의 의미는? - ni, wa, hi, si ... nice ( ni ) 란? nice 는 프로세스의 우선순위 기본값보다 낮은 우선순위로 사용자 공간에서 실행된 시간. 참고로 us 는 반대로 기본값 혹은 그보다 높은 우선순위로 사용자 공간에서 실행된 시간 의미. I/O Wait ( wa ) 란? I/O Wait 는 I/O 를 기다리는 시간을 이야기한다. I/O 는 입,출력을 대기하며 wait 상태로 들어갈 수 있는데, 이 때 즉시 실행 가능한 다른 프로세스가 있으면 그 프로세스를 실행하지만, 그렇지 않은 경우는 I/O 대기 작업 중 하나가 완료될 때까지 대기해야 하는데 그 시간이 wa 이다. Hard interrupt( hi ) 란? hard interrup.. 2014. 2. 20.
[linux] Top 의 로드 에버리지(load average) 란? linux, Top 의 로드 에버리지 ( load average ) 란? 작업의 대기시간을 말하는데,값이 1이면 1분동안 평균 1개의 프로세스가 대기상태에 있음을 나타낸다.값이 5이면 서버가 부하를 받는다고 볼 수 있고,10~15 이면 과부하라고 볼 수 있다. Top 에서 나오는 값은 각각 1분, 5분, 15분간 평균적으로 대기하고 있는 프로세스 수를 의미한다. linux, load average, process, Top, [linux] Top 의 로드 에버리지(load average) 란?, 값, 과부하, 대기상태, 대기시간, 뜻, 로드 에버리지, 부하, 서버, 의미, 작업 대기시작, 평균, 프로세스 2014. 2. 10.
[android] Bitmap 과 메모리에 대한 이야기. 끝판왕 android, Bitmap 과 메모리에 대한 이야기, 끝판왕! 안드로이드 메모리에 대한 이야기. 한 앱은 Dalvik Heap 과 External 두가지 영역이 존재한다.Dalvik Heap 은 Java 에서 사용하는 메모리라고 보면 되고,External 은 native 메모리라고 보면 된다. Dalvik Heap 영역은 메모리가 꽉 차면 늘긴 하지만 그 공간이 줄지는 않는다.반대로 External 영역은 유동적으로 그 공간이 늘었다 줄었다 한다.( 특히 Ginger Bread 에서는 Java Object 관리를 잘못하면 심심하면 OOM 을 만날 수 있겠다. ) HoneyComb 이전에는 bitmap 은 native memory 에서 관리했으나,HoneyComb 이후에는 bitmap 도 dalvik h.. 2014. 1. 26.
[android] process 이야기 안드로이드, process 이야기. System 이 process 를 죽였을 경우, 2.2 ( Froyo ) 이전 버전에서는 무조건 새로 시작하였고, 그 이후로는 onCreate + Bundle 로 다시 state 를 복구해준다. Activity 들은 모두 destroy 되고 다시 재생성되는 그런 패턴이다. 메모리가 부족하거나 사용안한지 30분이 지나거나 하는 조건 하에 destroy 된다. 2.2, 30분, activity, Android, Bundle, Destroy, froyo, onCreate, process, process kill, state, state 복구, System, 메모리 부족, 안드로이드, 재생성, 프로세스 2013. 10. 3.
반응형