본문 바로가기
[android] Lazy loading dex files [android] Lazy loading dex files https://medium.com/@Macarse/lazy-loading-dex-files-d41f6f37df0e -65K method limit 을 넘어서면 multi dex 가 필요하다. -LOS 이전에서 MultiDex 를 사용하면 startup time 에 delay 가 있었다. -MultiDex lib source code 를 보면, 거기서 하는 일은. classloader 를 이용하여 추가 dex file 를 app 시작 시 로드하도록 프로그래밍 되어 있다.왜 app 시작시 로드를 할까? 예를 들어 payment 에 관련된 lib 이 있다면 이런 녀석들은 사용되지 않을 수도 있는데.. 사용해도 나중에 로드해도 될텐데 말이다. -lazy.. 2019. 1. 30.
[android] 최고의 안드로이드 개발 원칙 [android] 최고의 안드로이드 개발 원칙 https://medium.freecodecamp.com/android-development-best-practices-83c94b027fd3#.fkhdpa3m0cf) 현재 제가 잘 못 하고 있는 것을 빨간 색 마킹 했습니다. ( 결론은 test 군요.. ) -Google 이 추천하는 Android architecture 를 사용하라. -코드 퀄리티를 항상 좋게 유지하라. -Unit test 를 항상 포함하라. JVM 에서 돌 수 있는 Java 코드들은 단말 위에서 테스트하는 것보다 훨씬 빠르다. Android dependency 가 있는 코드들은 Robolectric 을 사용하는 것을 추천한다. Mockito 도 좋다. -Functional UI test .. 2018. 3. 7.
[Kotlin] Kotlin 의 숨겨진 비용 #2 [Kotlin] Kotlin 의 숨겨진 비용 #2 https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-2-324a4a50b70 Local functions -local function 의 limit 은 inline 으로 정의될 수 없다는 것 ( 글 쓴 당시까지는, 현재버전에서 꼭 체크해보라 ).그리고 local function 을 가지고 있는 녀석도 inline 이 될 수 없다.fun someMth(a: Int): Int { fun sumSquare(b: Int) = (a+b) * (a+b) return sumSquare(1) + sumSqaure(2)} local function 은 Function object 로 바뀐다.public .. 2018. 1. 17.
[Kotlin] 장점, 단점, 그리고 아쉬운 점 이야기 [Kotlin] 장점, 단점, 그리고 아쉬운 점 이야기 https://medium.com/keepsafe-engineering/lessons-from-converting-an-app-to-100-kotlin-68984a05dcb6https://medium.com/keepsafe-engineering/kotlin-the-good-the-bad-and-the-ugly-bf5f09b87e6f -위 링크의 글을 쓴 필자는 마켓에 출시된 Java 로 되어 있는 앱을 Kotlin 으로 전환했다.많은 사람들이 Kotlin lib 때문에 dex method limit 이 걸릴 것을 걱정하지만,실제 converting 후 proguard 적용시 method count 는 10% 줄어들고, code line 은 30% 줄.. 2018. 1. 15.
[Android] 새로운 Dex Compiler 가 나온다네용 -이 글은 D8 이 출시되기 전에 쓰여진 글이라 현재는 deprecated doc 이라고 볼 수 있겠다.D8 에 대한 이야기는 아래 링크를 참조하시길..[android] D8 이 뭐야? -Android APK 를 만들 때 Javac 를 이용해서 bytecode 인 .class 를 만든 후dex compiler 를 이용해서 bytecode 들을 .dex 로 만든다. -Android Studio 3.0 Beta 부터 "D8" 이라고 불리는 새로운 dex compiler 를 사용할 수 있다. D8 은 compile time 도 줄였고, .dex 파일 사이즈도 줄였다..Android 측에서 제공하는 자료에 따르면 Compile Time 은 약 30% 정도 줄었다. 파일 사이즈는 약 5% 정도 줄었다. ( 사이즈.. 2017. 8. 13.
[android] Kotlin (코틀린) 이 뭐야? [android] Kotlin (코틀린) 이 뭐야? 참조 : https://realm.io/kr/news/android-kotlin/ -kotlin 이 등장하기 시작한 것은, Oracle 과 Google 의 Java 에 대한 소송으로부터 야기된다.언젠가 Google 이 패소하거나, 소송에 지쳐 Java 를 버릴 수 있다는 판단 하에 사람들은 대안이 될 수 있는 언어를 찾는다.구글의 새로운 언어인 Go 가 그 위치를 차지한다는 이야기가 있었지만, 기존 android 가 Java 와 JVM 기반이기 때문에 이는 신빙성이 낮고..JVM 기반에서 작동할 수 있는 Kotlin 이 유력한 대안으로 이야기되고 있다가.. 이제 정식으로 공식 언어가 되었다!! -Kotlin 은 Jetbrains( Intelli J 만든.. 2017. 7. 25.
[android] Google Play Service 는 나쁜놈이었다. Google Play Service 는 나쁜놈이었다. Google Play Service 가 현재( 2015-09-12 기준 ) 7.x 버전까지 나왔다. 그런데 이 구글 플레이 서비스가 5.0 ~ 6.5 미만까지는 골치덩어리였다. 여러가지 기능들이 추가되어 편리하게 구글이 제공하는 기능, 서비스들을 제공받는 것은 좋았지만,dex 파일의 method 갯수 제약 측면에서 노답인 상황이었다. 한 dex 파일은 65k 개의 method 만 가질 수 있는데, Google Play Service 5.0 버전에서는 이 녀석 혼자 20k 이상의 method 를 가지고 있다. 그래서 구글 플레이 서비스 library 를 사용하면서다른 3rd party library 를 사용하면method limit 에 걸려 문제가 될 .. 2015. 9. 16.
난독화 ( proguard ) 에 대한 고급정보. 난독화 ( proguard ) 에 대한 고급정보. -proguard option 에 -printusage unused.txt 를 추가해주면, 사용하지 않는 코드들이 출력되어 유지보수에 좋다. -optimization 하는 옵션을 줄 수도 있지만,optimization 은 Dalvik version 에 따라 호환이 안 되는 경우가 있어 함부로 쓰지는 않는 것이 좋다. -open source library 의 경우는 obfuscate(난독화) 할 필요가 없다.이미 open 된 소스들이기 때문이다.이럴 경우 아래와 같은 코드를 추가해주면, build time 을 줄일 수 있다. -libraryjars libs-keep class android.support.v4.app.** { *; }-keep interfa.. 2014. 5. 30.
Android 놓치기 쉬운 안드로이드 성능 향상 팁 Android 놓치기 쉬운 안드로이드 성능 향상 팁 출처 : http://developer.android.com/training/articles/perf-tips.html 아래 두가지 규칙이 모든 성능 향상의 기본 법칙이다. 1. 필요 없는 일은 하지 말아라. 2. 피할 수 있다면 memory 를 잡는 일을 하지 말아라. 참고로 micro-optimization 을 한다고 해도 모든 단말에서 똑같은 성능향상이 있는 것이 아니다.VM 의 종류, Processor 의 종류에 따라서도 조금씩 다르고, JIT 의 유무에 따라서도 다르다. 아래 항목들은 대부분의 환경에서 최적화시킬 수 있는 micro-optimization 기술을 소개한다. 쓸 데 없이 객체를 생성하지 말자. GC 를 유발하며, GC 는 conc.. 2014. 4. 3.
반응형