본문 바로가기

안드로이드116

[안드로이드] 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.
TextView - 문자열 다루는 방법 (spannable) 원문 : http://babtingdev.tistory.com/251 TextView의 기본적인 기능은 문자열을 보여주고 입력(EditText)받는 것이다. 코드로 Text를 읽거나 변경하는 메소드를 알아보겠다. CharSequence getText() void setText(int resid [, TextView.BufferType type]) void setText(CharSequence text [, TextView.BufferType type]) getText메소드는 리턴타입이 CharSequence 타입이다. CharSequence는 아래 메소드를 제공하는 interface이다. 쉽게 말하자면 문자의 배열인 셈이다. 메서드 설명 charAt(int index) index번째의 문자를 구한다 le.. 2011. 10. 4.
[자바] 자바 정규표현식(Regular Expression) 원문 : http://www.cyworld.com/deepb1ue/3452022 링크 : http://gypark.pe.kr/wiki/Perl/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D#INDEXR_155 문자열안에서 의미있는 표현을 사용 하고싶다면 이 정규표현식을 사용하면 정규식 설명 예제 . 임의의 한 문자(필수)를 의미 합니다. ab.(abc, abd,abe) .. ? 바로 앞에 문자가 없거나 하나가 있음을 의미 합니다. a?c (ac, abc, bc) .. * 바로 앞에 문자가 없거나 하나이상 반복을 의미 합니다. ab* (a, ab, aba) .. + 바로 앞에 문자가 하나이상 반복을 의미 합니다. ab+ (ab, abb, abbb) .. ^ 문자열의 시작.. 2011. 9. 29.