본문 바로가기

전체 글

안드로이드 로그뷰어(LogViewer for android) - 자바 출처 : http://blog.naver.com/iookill/140135139931 자바로 만들었습니다. 플랫폼에 상관없이 돌아 갈겁니다. 사용법은 윈도우용과 동일합니다. 추가된 기능은 디바이스 여러게연결 되었을때 선택할 수 있게 했습니다. 1.4v : 창크기 저장1.3v : Recent file 및 File open추가1.2v : Tid 필터 추가1.1v : Level F 추가1.0v : Pid filter 추가0.9v : 폰트 타입 추가0.8v : 필터 체크 박스 추가0.7v : 커널로그 파싱/LogFilter.ini에 컬러정의(0~7)0.6v : 필터 대소문 무시0.5v : LogFilterCmd.ini 추가0.4v : add thread option, filter 저장0.3v : 디바이스 선택 .. 더보기
[Android] OOM (Out of Memory) 와 LMK (Low Memory Killer) 이야기. 출처 : http://shadowxx.egloos.com/10781292 안녕하세요. 멀티미디어팀에 이상철입니다. 오늘은 여러분들이 프로젝트를 진행하면서 한번을 들어 볼(?) OOM (Out of Memory) 와 LMK (Low Memory Killer) 에 대한 이야기를 해볼까 합니다. 오늘 이야기는 예전에 제가 보내드렸던 "[Android] Background process 줄여서 Memory 확보로 성능 개선하기." 메일과 관련이 깊은 내용입니다. 사실 이번 이야기는 제 동기가 찾아서 보내준 내용을 제가 여러분들과 공유하고자 전송해드리는 정도입니다. 간단히 정리하면, OOM 은 Linux 커널에서 예전부터 쭈~욱 있어왔던 메모리 관리 모듈이고 이게 휴대기기에 들어가는 system 에서는 안맞다고 .. 더보기
OOM killer & Android LMK 출처 : http://lucidtale.wordpress.com/?s=Android+Low+Memory+Killer OOM killer & Android LMK현재 리눅스 커널에는 OOM(Out of Memory) killer가 있다. 소스 파일 위치는 mm/oom_kill.c 이며메모리가 부족해서 할당에 실패할 경우alloc_pages -> … -> out_of_memory() -> select_bad_process() -> badness() 가 불리게 된다.bad process의 선정은 다음과 같다./* * The baseline for the badness score is the proportion of RAM that each * task’s rss, pagetable and swap space .. 더보기
Dalvik Optimization and Verification중에서 (dexopt) 출처 : http://anzero.blog.me/89651858 안드로이드 소스를 빌드해서 생성하면 dalvik문서가 생성되는데,Android site에서는 공개되지 않은 것 같다.dalvik vm 목적, 구현 mechanism, prepared dex등으로 구성되는데,관심사순으로 재구성하여 발췌하였다. There are at least three different ways to create a "prepared" DEX file, sometimes known as "ODEX" (for Optimized DEX):The VM does it "just in time". The output goes into a special dalvik-cache directory. This works on the desk.. 더보기
[Android] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing 출처 : http://iamyooon.tistory.com/86안드로이드 디바이스를 사용하는 도중터치는 동작하지만 화면이 refresh되지 않는 문제를 경험한 적이있다.디버그메시지를 살펴보니 stop_drawing_early_suspend: timeout waiting for userspace to stop drawing라고 warning메시지를 띄우는것을 볼 수있었다.kernel/kernel/power/fbearlysusepnd.c에는 early suspend 진입시에 호출되는 stop_drawing_early_susepnd()가 있다.이 함수에서는 fb_state변수를 FB_STATE_REQUEST_STOP_DRAWING으로 설정한 다음 HZ시간 동안 해당 변수가 FB_STATE_STOP_DRAWIN.. 더보기
recovery 디버그 메세지를 커널 메세지로 보고 싶을때 기본적으로 리커버리 종료시 "/cache/recovery/log" 에 저장된다.만약 recovery 디버그 메세지를 커널 메세지로 실시간으로 보고 싶을때 하기처럼 바꿔주면 된다.static const char *TEMPORARY_LOG_FILE = "/tmp/recovery.log"; 를static const char *TEMPORARY_LOG_FILE = "/dev/kmsg"; 로 Tip) user 영역에서 커널 메세지를 찍고 싶을땐 /dev/kmsg에 써주면 된다. 더보기
MTP 설치 실패시 Error Code 19 안드로이드 MTP 설치 실패시 장치관리자에서 설치실패한 MTP 장치에서 우측 버튼 눌러서 제거한 후 레지스트리에서 하기 Upperfilters키값 자체를 삭제 한후 다시 꼽아서 설치 하도록 하면 된다. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{EEC5AD98-8080-425F-922A-DABF3DE3F69A}“Upperfilters” = klfltdrv 자동실행 옵션 사용안함(or 기본값설정)으로 하면 된다는 사람도 있다. 더보기
GIT 개념도 아래 그림 한장으로 개념 끝 더보기