본문 바로가기

안드로이드75

안드로이드의 Touch Event 디스패치 단계 원문 : http://blog.naver.com/iwillhackyou/110106725477 TouchEvent가 발생하는 흐름(순서)를 알고 싶어서.. 보게된 블로그 입니다. 그림만 보고 이해하려고 했지만, 잘 이해가 가지 않더군요. 그냥 이런 순서로 가나보구나..하지만.. 정확한 흐름을 이해하지 못했습니다. 그래서 안드로이드 프레임워크 소스를 봤습니다. 만약 그림을 봐도 이해가 되지 않는 분들은 소스를 보기를 추천합니다. 그러면 그림이 이해가 잘 될꺼라고 단언합니다. 그림으로 보실 분들을 위해서 그림에 대해서 몇가시 말씀드리겠습니다. 위에 있는 ViewGorup.dispatchTouchEvent()가 아래의 ViewGorup.dispatchTouchEvent() 사이에 --------> (점선화살표.. 2011. 12. 13.
[안드로이드] HttpClient 에 Timeout 설정하기 원문 : http://mainia.tistory.com/567 HttpClient httpClient = new DefaultHttpClient() 로 인스턴스를 생성하여 Web으로부터 데이터를 받는데.. 무한대기를 하네요. 확인해보니 server pc가 꺼져있는 상태였는데.. 응답이 없으면...일정시간후에 알아서 나가야지..나쁜놈... HttpParams 의 setParameter 파라미터로 http.connection.timeout 과 제한 하고자 하는 시간을 넣는다. 1000 에 1초이므로 5초 동안 응답이 없으면 UnknownHostException 을 던지게 된다. 1 HttpClient httpclient = new DefaultHttpClient(); 2 httpclient.getParams.. 2011. 10. 25.
[안드로이드] OutOfMemory 왜 발생하는거야? PC의 응용프로그램을 개발하다가 안드로이드 앱을 개발하게 되는 케이스들이 많을 거라고 생각합니다. 저 역시 그런 종류의 사람입니다. PC에서는 메모리 자원이 많아서 대부분의 자료를 메모리에 할당하여 사용합니다. 속도도 더 빠르겠죠.. 안드로이드 앱도 그렇게 코드를 작성해버렸네요. 그래서 결국 OutOfMemory라는 철천지 원수를 만나게 됐습니다. 대략적인 구조는 웹으로부터 XML 데이터를 가져오고, DOM파서로 데이터를 파싱해옵니다. 그리고 하나의 일치된 타입으로 데이터를 변환하여 저장하지요. 여기서 DOM파서와 변환된 데이터 이 두개가 한순간에는 동시에 존재하면서 많은 메모리를 차지하는 것 같더군요. 그리고 무엇보다도 Bitmap을 사용하고 있었는데 메모리 할당이 제대로 되지 않고 있었습니다. 개발 .. 2011. 10. 24.
[Android 문서번역] Avoiding Memory Leaks (메모리 누수를 피하는 방법) 원문 : http://distress.tistory.com/48 아래와 같은 방법으로 최대 힙 메모리와 사용되고 있는 힙 메모리를 구할 수 있다고 합니다. 그런데 어플에서 사용되고 있는 힙 메모리의 크기는 정확히 구하지를 못한다는군요. System.gc(); long lTotMemory = Runtime.getRuntime().maxMemory() / (1024*1024); long lUseMemory = lTotMemory - ( Runtime.getRuntime().freeMemory() / (1024*1024)); 원문 : http://developer.android.com/resources/articles/avoiding-memory-leaks.html T-Mobile의 G1폰의 경우, 안드로이드.. 2011. 10. 23.
[안드로이드] 시스템 분석을 위한 쉘 명령어 원문 : http://ecogeo.tistory.com/256 안드로이드 시스템 분석에 사용할만한 shell 명령을 알아보자. 시스템 기본 정보: 하드웨어, 커널 등 cat /proc/version : 커널 버전 cat /proc/cpuinfo : 프로세서 정보. CPU 타입, 모델, 제조사 등 cat /proc/meminfo : 메모리 정보. 실제 메모리 및 가상 메모리 cat /proc/devices : 현재 커널에 설정되어 있는 장치 목록 mount : 마운트된 모든 장치 정보 df : 하드디스크 사용량 cat /proc/filesystems : 커널에 설정되어 있는 파일시스템 목록 cat /proc/swaps : 스왑 파티션의 크기와 사용량 cat /proc/interrupts : 장치가 사용중인.. 2011. 10. 21.
안드로이드 Cache 파일 삭제하기 WebView를 사용하게되면 '/data/data/[pakage name]/cache/'에 파일들이 생성이 됩니다. cache 파일들이 꾀 많은 용량을 차지하는 것 같아서 어플이 종료되면 삭제를 하도록 하고 싶어졌습니다. 코드는 아래와 같이 작성하시면 됩니다. public class CustomActivity extends Activity { @Override public void onDestroy() { super.onDestroy(); clearCache(); } private void clearCache() { final File cacheDirFile = this.getCacheDir(); if (null != cacheDirFile && cacheDirFile.isDirectory()) { cl.. 2011. 10. 20.