본문 바로가기
[Java] Generational Concurrent GC 에 대해 알아보자 https://www.ibm.com/support/knowledgecenter/en/SSB23S_1.1.0.2019/com.ibm.java.vm.80.doc/docs/mm_gc_generational.html -Generational Concurrent Garbage Collection 전략은 짧은 기간동안만 존재하는 object 가 많은 앱에 적합하다. --Xgcpolicy:gencon command line option 으로 해당 GC 를 activate 시킬 수 있다. -Java heap 은 두 영역으로 나뉜다.하나는 새로운(new or nursery) 영역, 그리고 다른 하나는 오래된(old or tenured(재임)) 영역이다.new area에 생성된 objects 들이 오랜 기간동안 참조를 유.. 2020. 7. 28.
[android] ART 의 JIT (Just-In-Time) Compiler 에 대해 알아보자 https://source.android.com/devices/tech/dalvik/jit-compiler -Android runtime (ART) 는 Just-in-time (JIT) compiler 를 사용하여 안드로이드 앱이 동작할 때 지속적으로 빨라질 수 있게 프로파일링 하고 개선한다. (돼왕: NOS 부터 둘을 같이 사용)JIT compiler 는 ART 의 현재 ahead-of-time (AOT) compiler 를 보조하여, 실행 성능을 개선하고, 저장 공간을 줄이며, system update 를 빠르게 한다. (돼왕 : 최초 설치시에는 dex2oat 로 compile 하지 않고, 자주 사용하는 앱들에 대해 추후 compile 을 진행하는 방식)이는 앱 자동 업데이트나 OTA 를 통한 업데이.. 2020. 7. 27.
[android] App 이 kill 되면 Alarm 이나 Job 은 어떻게 될끼? https://github.com/evernote/android-job/wiki/FAQ#what-happens-with-jobs-after-the-app-was-forced-killed -앱이 recent app list 등에서 swipe 를 통해 force kill 당하면, 안드로이드는 AlarmManager 에 등록되어 있는 Pending alarm 들을 모두 clear 시켜버린다.그래서 앱이 다시 launch 할 때 또는 boot_complete 등의 broadcast 를 받아서 새로 job 을 등록해줘야 한다. JobScheduler 나 GcmNetworkManager 등에 등록된 Job 들은 force kill 에 영향을 받지 않는다. -필자의 경험에 의한 확인 결과, 앱 설정(Applicati.. 2020. 7. 26.
[android] Recent app 에서 swipe 로 app 을 죽이면 process kill 이 될까? -Recent app 에서 app 을 swipe 해서 kill 시켰을 때 동작에 대한 공식 doc 은 발견하지 못했다.doc 으로 명시하기에는 조건이 너무 까다롭거나, 혹은 유연하게 변경하기 위함이라고 추정된다. -그래서 구글링을 해보았다.대부분의 결론은 이렇다.Recent app 에서 app kill 시키는 것은 process kill 과 다르다.Activity stack 을 모두 날려버리는 것으로 생각하는 것이 좋다.음악 서비스가 돌고 있을 때 Recent app 에서 swipe 로 죽인다고 음악이 멈추지는 않는걸 생각해봐라. -그런가보다... 하고 실제 테스트를 해보았다.일단 bg service 같은 거 없이 그냥 "Hello World!" 를 표시하는 Activity 를 하나 띄워놓고, recen.. 2020. 7. 25.
[android] JobScheduler dumpsys log 분석해보자 -이 명령을 통해 dumpsys 중에 jobscheduler 에 대한 정보들만 발췌해 볼 수 있다.$ adb shell dumpsys jobscheduler -그 중에서 내가 등록한 Job 에 대해 한번 보자.JOB #u0a241/2: b002751 com.cklee.test/.scheduler.MyJobService u0a241 tag=*job*/com.cklee.test/.scheduler.MyJobService Source: uid=u0a241 user=0 pkg=com.cklee.test JobInfo: Service: com.cklee.test/.scheduler.MyJobService Requires: charging=false batteryNotLow=false deviceIdle=false.. 2020. 7. 24.
[android 10] 개발자를 위한 Android Q 가이드 (Highlights) [android 10] 개발자를 위한 Android Q 가이드 (Highlights) https://developer.android.com/about/versions/10/highlights -안드로이드 10 은 세가지 중요한 주제로 개발.첫번째는 모바일 분야의 혁신적인 최신 기술을 적용한 것 (ML (Machine-learning), foldable 지원, 5G 가능 폰)두번째로는 보안에 중요 포인트를 두었다는 것.마지막은 사용자의 digital wellbeing 확장. Innovation and new experiences * Foldables -multi-resume 에 대한 지원이 강화됨.resizeableActivity manifest attribute 의 작동방식이 수정되었다. * 5G net.. 2020. 3. 17.
[android 10] android Q 기능과 API 들 [android 10] android Q 기능과 API 들 https://developer.android.com/about/versions/10/features 보안 강화 * 생체 인증 dialog 의 개선 -Android 10 에서는 통합 생체 인증 dialog 가 강화되었다.... * 내장된 DEX code 를 APK 에서 직접 수행한다. -platform 에 앱의 APK file 안에 embedded 된 DEX code 를 실행하도록 할 수 있다.이 option 은 공격자가 단말에서 locally compile 한 것으로 대체하는 공격을 막을 수 있다. -이 feature 를 enable 하면 앱 성능에 영향이 있을 수 있다. 왜냐하면 이 옵션이 on 되면 ART 는 앱이 시작할 때 AOT 로 co.. 2020. 3. 16.
[android 10] Q target 하는 앱의 동작 변화 [android Q] Q target 하는 앱의 동작 변화 https://developer.android.com/about/versions/10/behavior-changes-10 non-SDK interface 제한 업데이트 -앱의 안정성과 호환성 문제 해결을 위해 non-SDK interface 제약이 Pie 에서 도입되었다.Q 에서는 관련 list 가 업데이트 되었다. 앱이 Q 를 target 하지 않으면, 이 변화는 바로 영향을 미치지 않겠지만 결국 high risk 로 다가올 것이다. 공유 메모리 -ashmem 이 dalvik map (/proc//maps) 형태로 변화되었다. 앱이 dalvik map format 에 의존하고 있었다면, 앱 개발자는 새로운 /proc/maps 포맷을 단말에서 테.. 2020. 3. 15.
[android 10] 모든 앱에 해당하는 동작 변화 [android Q] 모든 앱에 해당하는 동작 변화 https://developer.android.com/about/versions/10/behavior-changes-all Non-SDK interface 제한 -Pie 부터 Non-SDK interface 제한이 시작되었다.Q 에서는 해당 list 를 업데이트하였다.목표는 모든 private api 를 제거하는 것이다. -Android Q 를 target 하지 않는다면, 몇몇 변화는 즉각적으로 영향을 미치지 않을 것이다.하지만 현재 greylist 에 있는 non-SDK interface 를 사용한다면, 이것은 미래에 어떻게든 high risk 로 돌아올 것이다. -만약 앱이 non-SDK interface 를 사용하는지 확실치 않다면 테스트 해서 찾.. 2020. 3. 14.
반응형