본문 바로가기
[android] Low Memory Kill ( LMK ) [android] Low Memory Kill ( LMK ) https://developer.android.com/guide/components/activities/process-lifecycle.htmlhttps://medium.com/google-developers/who-lives-and-who-dies-process-priorities-on-android-cb151f39044f -OS Version 별로 제조사별로 바뀌기 쉬운 정책 때문인지..속 시원하게 설명해주는 글을 찾지 못했다.그래서 항상 헛갈리는 LMK (low memory kill) 에 대한 내용을 한 번 더 정리해보았다. -여러 글을 참조한 결과 importance priority 는 약간의 조정이 있었던 것 같다. 아주 옛날 옛적에 .. 2019. 1. 9.
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
Efficient Android Threading #3 프로세스 간 통신 Efficient Android Threading #3 프로세스 간 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 5.1. 안드로이드 RPC -안드로이드의 변형 리눅스 커널 안에서, 리눅스 IPC 기술은 프로세스 사이의 RPC 메커니즘을 수행하는 바인더 프레임워크로 대체되었다.이를 통해 클라이언트 프로세스는 마치 로컬에서 메서드를 실행하듯 서버 프로세스의 원격 메서드를 호출할 수 있다. -RPC 메서드 호출 자체는 단순하지만, RPC 매커니즘의 하부는 다음과 같은 단계로 구성된다. 1. 메서드 데이터 분해(마샬링, marshalling)2. 원격 프로세스로 마샬링된 정보를 전송3. 원격 프로세스에 정보를 재구성(언마.. 2018. 3. 19.
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -동시 실행 설계 자원의 생성과 해체의 빈도를 감소시키기 위해 항상 새로운 스레드를 만드는 것보다 재사용을 권장한다. 필요 이상으로 스레드를 사용하지 않는다. 사용하는 스레드가 많을수록 더 많은 메모리와 프로세서 시간이 소비된다. -App 관점에서 스레드는 UI, 바인더, 백그라운드 thread 로 3가지 유형이 있다. -바인더 스레드는 IPC 에 사용된다.각 프로세스는 Thread pool 을 유지한다.Thread pool 은 종료되거나 재생성되지 않지만, 프로세스 안에서 다른 스레드.. 2018. 3. 17.
[android] Firebase JobDispatcher 문제.. (Job 미실행) [android] Firebase JobDispatcher 문제.. (Job 미실행) - 글을 쓰는 현재 시점 Firebase JobDispatcher ( 이하 FJD ) 는 0.8.5 version - 현재 발생하는 문제는 N 미만 버전 ( not including N ) Google Play Service(이하 GPS) 가 최신버전이 아니면 제대로 동작하지 않는다. 현재 가장 최신 버전 GPS 11.7.44 에서는 제대로 동작하지만.. 심지어 17.05.18 release 된 11.0.47 에서는 Schedule 한 job 이 불리지 않는다… 심각하다.. - JobScheduler 자체는 LOS 부터 사용이 가능하기 때문에, L 미만에서는 Service + Broadcast + AlarmManager.. 2017. 12. 5.
[Kotlin Tutorial] Kotlin 소개 - Kotlin : what and why [Kotlin Tutorial] Kotlin 소개 - Kotlin : what and why 참조 : Kotlin in Action -Kotlin 은 Java platform 을 targeting 한 새로운 프로그래밍 언어.Java 코드와 함께 쓰일 수 있다.Android 개발 뿐만 아니라 Server-side 개발에도 쓰일 수 있다. -Java 의 iib, framework 와 함께 쓰일 수 있고, Java 와 비교해 Performance 도 거의 동일하다. 1.1. A Taste of Kotlin -http://try.kotl.in 을 통해 코드 실습을 할 수 있다. -data class Person(val name: String, val age: Int? = null) fun main(args: A.. 2017. 7. 12.
[android] AbstractAccountAuthenticator 에 대해 알아보자. [android] AbstractAccountAuthenticator 에 대해 알아보자. http://developer.android.com/reference/android/accounts/AbstractAccountAuthenticator.html - 계정을 생성하기 위해서는 AbstractAccountAuthenticator 를 구현한 녀석을 가지고 있어야 한다. 또한 android.accounts.AccountAuthenticator action 을 처리하는 Service 도 구현해야 한다. 해당 service 에서는 Authenticator 의 getIBinder() 를 수행한 녀석을 IBinder 로 return 해주어야 한다. - AuthenticationService 는 다음과 같은 inte.. 2017. 7. 6.
[android] adb dumpsys 를 잘 사용해보자. [android] adb dumpsys 를 잘 사용해보자. // service 들의 이름을 보자.> dumpsys | grep “DUMP OF SERVICE" // battery 정보를 보자.> dumpsys battery // wifi 정보를 보자.> dumpsys wifi // cpu 정보를 보자.> dumpsys cpuinfo // 특정 앱의 memory 정보를 보자> dumpsys meminfo “app package name" // activity 정보를 보자> dumpsys activity // 패키지 정보를 보자> dumpsys package [optional app package name] // window 정보를 보자> dumpsys window activity, adb dumpsys, .. 2017. 5. 18.
[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.
반응형