본문 바로가기
[Android] ART 의 GC 이야기 [Android] ART 의 GC 이야기 https://source.android.com/devices/tech/dalvik/gc-debug 위의 사이트에 가면 여러가지 다른 이야기들도 많지만, 내가 필요한 개념들만(memory defragmentation 관련) 적당히 알면 되었기 때문에 그 내용들만 정리하였습니다. 더 심도있게 공부하고 싶으신 분들은 위 사이트를 직접 방문하시길~ ART GC overview -ART 는 Android 4.4 에 등장했고, Android 5.0 (LOS) 부터는 기본 runtime 이 되었다.Dalvik runtime 은 더 이상 유지보수되지 않고 이용할 수도 없다. Byte-code format 은 그대로 ART 에서 사용된다. -ART 의 기본 GC plan 은 C.. 2018. 10. 10.
[android] Kiosk mode app 을 만들자! [android] Kiosk mode app 을 만들자! http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/ -Kiosk mode 가 무엇을 말하는가?다른 앱은 실행되지 않는 single app 만 실행하는 그런 앱을 이야기한다. -고려해야 할 상황들은 다음과 같다. back button home button recent app button power button volume button -먼저 kiosk 는 부팅과 동시에 해당 앱이 시작되어야 하기 떄문에, boot complete br 을 처리해야 한다. @Manifest @BootReceiverpublic class BootRec.. 2017. 8. 7.
[Android] Overview screen 을 꾸며보세요. [Android] Overview screen 을 꾸며보세요. http://www.bignerdranch.com/blog/polishing-your-Android-overview-screen-entry - Overview Screen( Home key long press 혹은 multi tasking button ) 을 Lollipop 부터는 꾸밀 수 있게 되었다.새로운 API 를 이용해 icon, title, top bar 색상 등을 수정할 수 있다. - 별다른 설정을 하지 않으면 android:icon, android:label, android:theme 을 통해 icon, title, top bar color 가 각각 정해진다. 이 값들은 base activity( launch, main ) 로부터.. 2017. 4. 11.
[android] Binder Tokens 에 대해 이해해보자. [android] Binder Tokens 에 대해 이해해보자. Binder Tokens -Binder object 는 system 에서 하나의 Unique ID ( 32-bit )를 갖는다.Binder 가 system 안에서 Unique ID 를 갖는것은 security 문제를 해결하는 데 도움이 된다. - Binder 가 쓰이는 가장 대표적인 예는 Service의 aidl 연결이나 WakeLock 등이 있겠다. Window Tokens -WIndow Token 은 Window manager 가 사용하는 특별한 token 이다. 각 window 를 구별하는 데 사용된다. - WindowToken 은 다른 허가되지 않은 앱이 다른 app 위에 무언가를 그리는 것을 불허한다. Window 를 새로 add .. 2016. 5. 26.
[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 죽이는 방법 옛날 방법 Froyo 로부터 deprecated 되었지만, 혹여나 Froyo 이전도 지원할 경우에 필요할 것 같아 정리했다. 메니페스트에 다음 퍼미션을 주고.. App 에서 다음 코드를 수행한다. ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);am.restartPackage( getPackageName() ); 새로운 방법 메니페스트에 다음 퍼미션을 주고.. 다음 코드로 process 를 죽여준다. ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);am.killBackgroundProcesses (get.. 2013. 11. 13.
[android] PackageManager 와 ActivityManager. 그리고 Intent 이야기 안드로이드, PackageManager 와 ActivityManager. 그리고 Intent 이야기 PackageManager 이야기. PackageManager 는 폰이 최초 실행될 때 system/app, data/app 등의 위치를 검색하며 APK 파일들의 매니페스트 파일을 조사해 intent 에 관련된 내용들을 모두 system 에 등록시켜 놓는다. 새롭게 패키지가 추가되거나 삭제될 때 발생하는 broadcast intent 를 수신하여 등록된 정보를 갱신하는 일도 수행한다. ActivityManager 이야기 ActivityManager 는 인텐트를 수신받으면 PackageManagerService 를 통해 Intent 에 부합하는 컴퍼넌트 정보를 다져온다. 그 다음 해당 컴퍼넌트의 상태 정보와.. 2013. 11. 8.
반응형