[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. Overview of Android Memory Management ( 안드로이드의 메모리 관리 ) Overview of Android Memory Management ( 안드로이드의 메모리 관리 ) https://developer.android.com/topic/performance/memory-overview.html -Android Runtime ( ART ) 과 Dalvik 은 paging 과 memory-mapping 을 이용해서 메모리 관리를 한다.app 이 조작하는 메모리는 모두 RAM 에 상주하며 page-out 되지 않는다.이 memory 를 해지하는 방법은 GC 되도록 하는 방법밖에 없다.수정이 발생하지 않는 code 와 같은 녀석들은 RAM 에서 page out 될 수 있다. Garbage collection -Android 의 memory heap 은 세대가 있다(?).예를 들어 .. 2018. 10. 9. [android] Background Optimization ( 백그라운드 최적화 ) -Background process 는 User 가 알 수 없게 cpu, memory, battery 등을 소모한다.Android 7.0 ( API 24 ) 부터는 다음과 같은 제약이 추가되었다. targetSdk 24 이상인 앱의 경우 manifest 에 CONNECTIVITY_ACTION 를 등록해도 broadcast 를 받지 못한다. Context.registerReceiver() 를 통한 Runtime receiver 를 등록한 경우에만 받을 수 있다. 앱은 ACTION_NEW_PICTURE 나 ACTION_NEW_VIDEO broadcast 를 보내거나 받을 수 없다. ( 이것은 Android 7.0 target 이 아닌 단말 기준으로 모든 앱에 작동한다. ) -만약 위에 명시된 Action 들.. 2018. 10. 8. [android] Gradle Tutorial #2 Dependency, Android Libraries and Multi-project setup -external library jar 를 사용하려면 compile configuration 을 사용하면 된다. dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // api 와 implementation 으로 바뀌었다.} android { ...} -compile 은 main app 을 compile 한다.compile 되는 모든 것은 compile classpath 로 잡히고, final APK 에 포함이 된다. 다음과 같은 compile configuration 을 추가할 수 있고,buildType 을 추가하면 자동으로 compile 이 .. 2018. 10. 5. [android] Gradle Tutorial #1 [android] Gradle Tutorial #1 http://tools.android.com/tech-docs/new-build-system/user-guide Build System 의 목적 code 와 resource 의 reuse 를 쉽게 한다. app 의 여러 variant 에 따라 multi-apk 를 생성하거나, 약간 다른 기능을 하는 app 을 쉽게 생성해낸다. build process 를 쉽게 설정하고, 확장하고, 개인화 할 수 있다. IDE 와 잘 연동된다. 왜 Gradle 인가? plugin 을 통해 custom build logic 을 만들어 낼 수 있는 진보된 빌드 시스템 혹은 툴킷이다. Groovy 기반 DSL ( Domain Specific Language) 을 빌드 로직을 .. 2018. 10. 4. [정리] 안드로이드 전문가 되는 법 [정리] 안드로이드 전문가 되는 법 http://news.realm.io/kr/news/droidcon-boston-chiu-ki-chan-how-to-be-an-android-expert 전문가 여러 의미가 있겠지만, 자신의 지식을 공유하는 사람 지식을 공유하는 과정에서 전문성을 얻게 된다. 공유의 방법 샘플 코드 작성 : Github 등을 활용하라 블로그 작성 : 스크린샷과 코드를 잘 조합하라 컨퍼런스 리포트 : 컨퍼런스에서 배운 바를 공유, Twitter 를 이용하는 것 추천, 사진과 스케치노트(간단한 필기나 수기 정리) 도 있으면 좋다 강연 : "말할만한 것이 없습니다” 라는 주제로도 강연을 할 수 있다. 불만으로도 강연할 수 있다. twitter, [정리] 안드로이드 전문가 되는 법, 강연, 블.. 2018. 10. 3. [android] Java8 을 사용해보자! [android] Java8 을 사용해보자! https://developer.android.com/studio/preview/features/java8-support.html Android 에서 Java8 사용하기 -Android Studio 2.4 Preview 4 이상부터 모든 Java7 과 Java8 언어 특성을 지원한다. -Java7 을 사용하더라도 JDK8 을 이용해서 컴파일하므로 JDK8 은 필요하다. -이전에는 Jack Compiler 를 사용해야 Java8 Compile 이 가능했는데,이제는 desugar 라는 bytecode transformation 만 있으면 된다.Jack 이 더 이상 필요하지 않다. Jack 을 사용하고 있었다면 build.gradle 에서 그 녀석부터 없애라! -J.. 2018. 10. 2. [android] Shared Element Transition Tutorial ( with transparent bg ) [android] Shared Element Transition Tutorial ( with transparent bg ) https://medium.com/@aitorvs/android-shared-element-transitions-for-all-b90e9361507d#.zoz5i6xkz -LOS 이상부터는 이를 구현하는 것이 매우 쉽다.( https://developer.android.com/training/transitions/start-activity )그러나 그 이전버전도 지원하는 경우 버전분기를 하는 공수가 든다.그래서 새로운 API 없이 Compat 한 방법으로 Transition 하는 방법을 소개한다. -Activity A -> B 로 이동시 동일한 모양을 가진 View 가 있다면,A 에.. 2018. 9. 28. [도서 정리] 안드로이드 앱 성능 최적화 #8 최종 사용자 모니터링 안드로이드 앱 성능 최적화 #8 최종 사용자 모니터링 이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.자세한 내용은 책을 구매하여 보세요~ -앱이 실행되는 동안 측정한 데이터를 집계해 전달하고, 이를 분석해 앱에서 발생하는 문제를 찾아 낼 수 있다.이러한 통계정보들은 앱 자체에서 얻어지는데, 보통 최종 사용자 모니터링(RUM, Real User Monitoring)이라고 부른다. -자본금이 충분한 개발팀이라면 RUM 엔진을 직접 구축해서 데이터를 수집할 수 있겠지만, 그렇지 않다면 이러한 기능을 제공하는 다양한 외부 서비스를 사용할 수 있다.이런 서비스들은 대부분 무료이거나 제한적인 무료로 제공된다. 8.1. RUM 도구 사용하기 8.2. RUM 분석 : 샘플 앱 -Crashlyt.. 2018. 6. 29. 반응형 이전 1 ··· 17 18 19 20 21 22 23 ··· 125 다음