본문 바로가기
[도서 정리] 안드로이드 앱 성능 최적화 #5 메모리 성능 안드로이드 앱 성능 최적화 #5 메모리 성능 이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.자세한 내용은 책을 구매하여 보세요~5.1. 안드로이드 메모리는 어떻게 동작하는가 -안드로이드 기기에서 구동되는 자바 런타임(Dalvik 이나 ART)은 메모리 관리 환경이다.일반적으로 런타임에서 모든 메모리 할당과 해제(GC)를 처리한다. 5.1.1. 공유 메모리와 전용 메모리 -모든 앱에서 공통으로 사용하는 프레임워크 클래스, 리소스, 네이티브 라이브러리 등이 있다.안드로이드는 메모리를 절약하려고 이런 것을 공유 메모리에 올려두고 앱 사이에서 함께 사용한다.공유 메모리는 메모리 사용량을 분석할 때 프로세스에 균등하게 1/n 으로 나누어 적용한다. -전용 메모리는 특정 앱 내부에서 사용되.. 2018. 6. 26.
Efficient Android Threading #12 로더를 이용한 자동 백그라운드 실행 Efficient Android Threading #12 로더를 이용한 자동 백그라운드 실행 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -로더(Loader) 프레임워크는 콘텐트 프로바이더 또는 다른 데이터 소스에 대해 비동기 작업을 실행하기 위한 강력한 방법을 제공한다.콘텐츠가 변하거나 데이터 소스에 추가될 때 로더 프레임워크는 비동기적으로 데이터를 불러오고 앱으로 전달할 수 있다.API Level 11(허니콤)에서 추가되었다. Loader 는 액티비티 또는 프래그먼트와 연결하는 것이 가능하다. 콘텐트 프로바이더에 연결하는 경우 CursorLoader 를 사용하면 되고,다른 데이터 소스의 경우 커스텀 로더 객체로 구현.. 2018. 3. 28.
[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.
[android] Material Support Library [android] Material Support Library http://code.hootsuite.com/tips-and-tricks-for-android-material-support-libraryhttps://android-developers.googleblog.com/2014/10/material-design-on-android-checklist.html -material support lib 을 사용하기 위해서는 build.gradle 에 dependency 를 추가해주어야 한다. dependencies { compile 'com.android.support:appcompat-v7:21.0.+'} -App theme 도 바꿔주자. -Activity 도 ActionBarActivity 를 상속받.. 2017. 7. 8.
[Android] Material Design 개략적으로 알아보기~ Implementing Material Design in Your Android App http://android-developers.blogspot.kr/2014/10/implementing-material-design-in-your.html Material Design 은 Android 5.0 ( Lollipop, LOS ) 부터 등장한 안드로이드의 디자인이다. 전반적인 Animation 에 대한 가이드는 아래 링크를 참조하면 좋다.https://material.io/guidelines/motion/material-motion.html Tangible Surfaces * Shadow 아래와 같이 xml 에서 elevation 을 주면, z axis 로 이동한 효과를 내며, system 에서 dynam.. 2017. 4. 10.
[Django] 파이썬 웹 프로그래밍 - 파이썬 웹 표준 라이브러리 [Django] 파이썬 웹 프로그래밍 - 파이썬 웹 표준 라이브러리 - 책을 읽으며 Remind 하는 내용, 핵심 내용, 모르던 내용을 정리한 것입니다. 예문 및 자세한 설명은 책을 구매하여 보세요~ - 파이썬을 설치하면 기본적으로 같이 설치되는 표준 라이브러리가 있는데, 크게 웹 클라이언트 프로그래밍이냐 웹 서버 프로그래밍이냐에 따라 사용하는 라이브러리 모듈이 달라진다. - urllib 패키지에는 웹 클라이언트를 작성하는 데 사용되는 모듈들이 있으며, 가장 빈번하게 사용하는 모듈이다. http 패키지는 크게 서버용과 클라이언트용 라이브러리로 나누어 모듈을 담고 있고, urllib 에 비해 저수준의 API 를 제공한다. - 서버 프로그래밍에서는 http.cookie, .. 2016. 12. 8.
[android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. [android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. -애석하게도 대부분의 개발자들이 manifest 에 configChanges 속성을 통해 orientation 값만 설정해주면 모든게 해결되는 줄 안다. 하지만 그렇지 않다. Configuration Change 는 여러 경우에 발생된다. 기본적으로 configChanges 에 들어가는 값들의 상황이 그렇고, 언어가 변경되거나, dock 에 연결되거나, font 크기가 바뀌거나 등의 조건으로 destroy-recreate 되곤 한다. 또한 리소스, 메모리 관리 측면에서 Activity 가 destroy 되고 create 되도록 하는 것이 좋다. - 예전부터 개발을 해온 사람이라면 Activity 에 on.. 2016. 10. 12.
Android Loaders Tutorial Android Loaders Tutorial http://developer.android.com/guide/components/loaders.html Android 3.0 부터 Loader 가 등장하여 async 하게 data 를 load 할 수 있게 되었다.Loader 는 다음과 같은 특징이 있다. - Activity, Fragment 에서 접근 가능하다.- Data 를 async 하게 load 한다.- Source data 를 monitor 하면서 내용이 변경되면 새로운 결과를 전달한다.- config change 등과 같은 activity, fragment 의 recreation 시 기존 자료를 자동으로 reload 한다. Loader API Summary LoaderManager Activity .. 2015. 11. 3.
[android] Fragment State 제대로 관리하기. [android] Fragment State 제대로 관리하기. life cycle 중에 onPause 만 확실히 불리기 때문에 onPause 가 state 저장할 포인트이다.( onSaveInstanceState() 같은 녀석들이 확실히 불리지 않는다는 이야기다. ) 고로 onPause() 에서 FragmentManager.saveFragmentInstanceState( Context ) 를 호출하여 return 되는 Fragment.SavedState 라는 녀석을 어딘가에 저장을 하자.onSaveInstanceState 도 간헐적으로 불리므로 이 녀석 안에도 뭔가를 저장하는 코드를 넣어주자. onPause() 에서 savedstate 를 저장했다면 onDestroy() 에서는 이 녀석을 제거해주자. 저.. 2014. 4. 24.
반응형