본문 바로가기
[android] SharedPreferences Performance & Tips [android] SharedPreferences Performance & Tips -SharedPreference 는 Singleton 이다. -getString 과 같은 value retrieve 를 하는 경우에 xml 을 parse 해서 값을 가져와 map 에 저장한다.그래서 처음 call 에는 시간이 오래 걸리지만, 그 이후에는 시간이 오래 걸리지 않는다. -xml & parsing 방식이기 때문에 크기가 커질수록 get, commit, apply, remove, clear 등이 오래 걸린다.그래서 sharedpreferences 를 여러개로 나눠서 저장하거나, DB 도 생각해봄직 하다. -SharedPreferences 는 xml file 로 app data folder 에 저장된다. // sp.. 2014. 4. 18.
android 에서 gif 재생하기 - GifDrawable. ( Open Source LIbrary ) android 에서 gif 재생하기 - GifDrawable. ( Open Source LIbrary ) https://github.com/koral--/android-gif-drawable 안드로이드는 기본 GIF 파일을 자동으로 draw 하지 못한다. 하지만 이 GifDrawable open source 는 이를 지원한다. 이 녀석은 NDK 를 사용해서 frame 을 render 하기 때문에, 기존의 WebView 나 Movie class 를 이용하여 rendering 하는 것보다 훨씬 효율적이다. android gif, android 에서 gif 재생하기 - GifDrawable. ( Open Source LIbrary ), Draw, FRAME, Gif, gif 재생, gitdrawable, Mo.. 2014. 4. 16.
[android] flood fill algorithm performance tests. android, flood fill algorithm performance tests. 위와 같은 공룡의 엉덩이, 발, 그리고 꼬리에 이르는 부분을 FloodFill algorithm 을 적용하여 색칠해보았다.avg 값은 5회의 결과를 평균 낸 값이다. 1. Very Intuitive and Simple Flood Fill Algorithm Recursive method call 을 이용하여, 한 점을 기준으로 동,서,남,북 pixel 에 대해 recursive call 을 호출하는 방식이다. private void floodFill3(Bitmap bitmap, Point fillStartPoint, int targetColor, int replacementColor){Queue queue = new L.. 2014. 4. 11.
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.
[Java] Double-checked locking 을 사용하지 말자! [Java] Double-checked locking 을 사용하지 말자! Double checked locking 이란? 보통 synchronized block 은 performance 이슈를 부르기 쉽다.double-checked locking 이 performance 이슈를 조금 완화시켜준다. double-checked locking 은 null check 와 같은 부분을 synchronized 밖으로 빼서synchronized 를 기다리지 않고 처리하게 만들어 준다. volatile 을 주면 read, write 가 sync 로 걸릴 경우 write 를 먼저 하게 하고, read 를 나중에 하게 한다.volatile 이 없다면 반대로 read 를 보통 먼저 하고 write 를 나중에 한다고 한다. .. 2014. 3. 31.
[Android] Blurring Technique faster than RenderScript [Android] Blurring Technique faster than RenderScript http://trickyandroid.com/advanced-blurring-techniques/ 요즘은 이상하게 Blurring 기술이 많이 언급되고 있다.performance 입장에서 Blurring 은 Renderscript 가 진리! 라는 추세인데,이 article 에서는 pure Java 를 이용하여 blurring 을 하면서 renderscript 보다 더 성능이 좋은 방법을 찾아냈다. Renderscript 의 단점은 그 사용법이 어렵다는 것이고, ( 물론 Blurring 만 하는 것은 어렵지 않다. )BackwardCompatibility 측면에서 제약이 있다는 것이다.그래서 저 글의 필자는 P.. 2014. 3. 27.
Android 와 DI ( Dependency Injection ) 이야기. Android와 DI ( Dependency Injection ) 이야기 의존 관계 주입 ( dependency injection ) 을 활용한 프로그래밍에서는 객체가 자신이 사용할 객체를 스스로 선택하지 않고, 제 3의 객체가 사용할 객체를 주입한다.이를 의존 관계 역전 ( Inversion of control ) 이라고 부른다. DI 의 이점은? 1. 객체의 생성 주기를 제어한다. 이전에는 객체의 생성 지점 통제를 위해 singleton 패턴을 직접 구현했다. ( private 생성자, getInstance() method 등 ) DI 프레임워크에서는 ApplicationContext, Injector, ObjectGraph 등으로 불리는 통합 객체 저장소에 일반적인 객체 등록하고, 이를 사용하는 쪽.. 2014. 3. 23.
[linux] Swap 메모리란? linux, Swap 메모리란? 참고 자료 : http://knight76.tistory.com/1549 어플리케이션의 RAM 용량이 차면, swap 메모리가 자동으로 늘어난다.하드디스크의 디스크 공간을 swap 메모리로 사용하기 때문에 속도가 느려진다.보통 swap 메모리는 기본 RAM 용량의 2배정도를 잡는 것을 권장한다.이 swap 메모리 용량은 성능이슈와 관련있기 때문에 알맞게 조정하는 것이 좋다. 메모리가 부족한 현상이 자주 발생하는 경우가 아니면 swap 자체를 사용하지 않는 것이 사실 좋다.만약 swap 메모리를 사용해야 하는 경우가 생긴다면, 하드웨어로 먼저 처리할 수 있는지 확인하여여유가 되면 하드웨어로 처리하는 것이 베스트이다. Ram 추가 세팅, SSD 사용 등이 하드웨어적 처리의 한.. 2014. 2. 15.
[android] ART ( android runtime ) 이란? (2017.08. updated) [android] ART ( android runtime ) 이란? - 2017. 8 내용 보강 ART, Android Runtime from Kitkat( 4.4 ) 기존의 안드로이드에서는 DEX file 을 Dalvik machine(JVM) 위에 올리는 방식이었는데,Kitkat ( 4.4 ) 부터는 ART(Android Runtime) machine 위에서 OAT file 을 돌리는 것이 가능해졌다.기존의 dex 파일을 dex2oat 라는 converter 를 이용해서 converting 하여 생성하고 run 한다. Dalvik 은 bytecode 를 interpret 한다.그러면서 사용자가 앱을 실행할 때마다 성능 개선이 있을 수 있는 부분에 대해 네이티브 코드로 변환을 한다.이를 JIT( jus.. 2014. 1. 22.
반응형