4기가 이상의 메모리를 사용하여야 한다면 64bit OS를 선택해야 한다는 것은 많이 알려져있다. 그럼 얼마나 더 사용 가능할까?32bit 시스템은 2^32의 주소 공간을 할당할 수 있는데, 이를 통해 메모리 공간에 할당할 수 있는 양은 2^32 = 2^2 * 2^30 = 4 * 1024^3 byte로 환산되며. 즉 4GiB (지비바이트)가 된다.그럼 64bit 시스템에서는 어떻게 될까? 2^62는 어마어마한 수가 되는데, 2^64 = 2^4 * 2^60 = 16 * 1024 ^ 6 byte로 환산되며, 즉 16EiB(엑스비바이트)이다. 이론적으로 32bit 시스템보다 10억배 할당 가능한데, 수치상으로는 무한대라고 해도 상관없을 듯 하다. 그러나 OS가 64bit을 모두 주소에 할당하도록 해주지도 않고..
이클립스 쓰면 쓸수록 느려져서 답답해 집니다.버전업은 되는데 성능 개선이 이루어 지지 않는 점이 아쉽습니다.때문에 IntelliJ로 바꾸는 사람들이 늘어나고 있어요. 그런데 툴 바꾸는게 쉬운 일은 아니죠.10년이나 썼는데 말입니다. 땜질 처방으로 성능 향상 팁을 알아보고 있습니다.일단 자료 조사 한 것들만 리스팅 해봅니다. http://stackoverflow.com/questions/5660247/hints-to-improve-eclipse-performancehttp://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3FFailed create java vertual machinehttp://chanyook.eglo..
검색한 결과를 링크합니다. SQLite performance tuning and optimization on embedded systems : 잘 정리되어 참고 할 만 하다.http://katastrophos.net/andre/blog/2007/01/04/sqlite-performance-tuning-and-optimization-on-embedded-systems/How do I improve the performance of SQLite? : 여러 건의 insert를 할 때 tuning한 내용을 잘 설명하고 있다. C 코드 부분도 있어 참고 할 만 함.http://stackoverflow.com/questions/1711631/how-do-i-improve-the-performance-of-sqlit..
Jelly Bean 업그레이드 테스트를 하는 도중 위젯이 계속 로딩중이고 로그에 오류가 나서 보았더니Broadcast할 때 FLAG에 Intent.FLAG_ACTIVITY_CLEAR_TOP 이 있어서 그랬습니다. Broadcast 할 때에는 FLAG_ACTIVITY로 시작하는 FLAG는 붙이지 말아야 합니다. 01-02 00:02:19.818: E/ActivityManager(672): Activity Manager Crash01-02 00:02:19.818: E/ActivityManager(672): java.lang.IllegalArgumentException: Can't use FLAG_RECEIVER_BOOT_UPGRADE here01-02 00:02:19.818: E/ActivityManager..
StrictMode Android에서 오류를 검출해주는 방안 중의 하나로, 진입점에서 설정하면 실행하는 동안 이슈가 될 수 있는 부분들에 대하여 검출되며, 로그로 출력하거나 팝업을 띄울 수 도 있다.보통 로그로 출력하게 해서 "StrictMode" 태그로 필터링 하면 확인할 수 있다.메모리 Leak이나 Cursor가 Close되지 않은 부분 등 유용한 정보를 확인할 수 있어 개발 기간 동안 활성화 하면 도움이 된다. 보통 Activity나 Application 클래스 onCreate 메소드 내에서 설정, 디폴트로 할 경우 아래 코드 추가 StrictMode.enableDefaults(); 자세한 내용은 정리된 사이트가 많아 링크로 대신한다. Android developers bloghttp://andro..
가로, 세로 방향 전환시 ListView가 유지되지 않고 초기화 될 경우 가로 화면이 지원되도록 설정된 단말에서 ListView를 사용하는 경우, 가로로 돌리면 리스트가 초기상태로 돌아가는 경우가 있다. AndroidManifest.xml의 해당 Activity tag에 다음 attribute를 추가해 보자 android:configChanges="orientation|screenSize"대부분 잘 된다. 그러나 이 Attribute에 명기된 것들에 대해서는 개발자가 책임지겠다는 의미이다.원래 Android의 Activity는 configuration이 변경되면 restart가 된다. 가로세로 전환 외에도 Bluetooth 키보드를 연결하거나 언어가 변경되거나 하면 Activity를 자동으로 재시작 하여..
Eclipse - Mark occurrences가 제대로 동작하지 않는 문제 Eclipse에서 유용한 기능인 Mark occurrences는, 선택된 변수나 메소드등을 하이라이트로 표현한다. 변수 같은 경우, 해당 변수가 어디까지 영향을 미치고 있는지 쉽게 볼 수 있어 편리하다.그런데 언제부턴지 기억이 나지 않지만 Eclipse 버전업이 되면서 종종 제대로 동작하지 않는 경우가 있다. (현재 Eclipse 버전 4.2.2, 윈도우7에서 제대로 동작되지 않음) 잘 되다가도 안되곤 하는데, 다음과 같이 임시로 해결할 수 있다. Outline View를 클릭하여 포커스를 이동시켰다가 되돌아오면 동작함"ALT + SHIFT + O"를 누르면 Mark occurrences를 끄고 켤 수 있다. 끄고 켜면 동작된다..
Eclipse에 snippet view가 없을 때 Eclipse의 snippet view는 반복하여 사용되는 코드 묶음을 템플릿화 하여 저장하여 두고, 필요할 때마다 그대로 붙여넣기 하여 쓸 수 있는 기능이다. Window > Show view > Other... 에서 General 묶음 아래에 이 뷰가 보이지 않는다면 추가 패키지의 설치가 필요하다. Snippet view는 Eclipse Java Web Developer Tools에 포함되어 있으므로, 처음에 이클립스를 설치할 때 Web 개발용을 받지 않았다면 보이지 않을 수 있다. Help > Install New Software... 에서 Work with를 Juno를 선택한 뒤, (Eclipse 버전에 따라 업데이트 센터 주소를 골라야 한다.) ..
android:debuggable AndroidManifest.xml의 Application tag에 있는 android:debuggable attribute는 이 앱이 DDMS를 통해 debug 가능한지의 여부를 결정하게 해 준다. default는 true로, debug 가능하다는 것을 의미한다. DDMS의 Device 뷰에 프로세스가 노출되고 각종 Profiling이나 상태 정보를 확인할 수 있다. false로 지정하게 되면 노출되지 않게 되는데, 외부(마켓)에 공개하는 경우 이 태그를 추가하여 빌드 하여야 한다. 만약 어떤 단말기용으로 시스템 이미지를 빌드 할 때, preload 되는 APK 중 하나가 android:debuggable="true" 값을 가지고 있다면 호환성 검사인 CTS에서 Fai..