본문 바로가기
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -동시 실행 설계 자원의 생성과 해체의 빈도를 감소시키기 위해 항상 새로운 스레드를 만드는 것보다 재사용을 권장한다. 필요 이상으로 스레드를 사용하지 않는다. 사용하는 스레드가 많을수록 더 많은 메모리와 프로세서 시간이 소비된다. -App 관점에서 스레드는 UI, 바인더, 백그라운드 thread 로 3가지 유형이 있다. -바인더 스레드는 IPC 에 사용된다.각 프로세스는 Thread pool 을 유지한다.Thread pool 은 종료되거나 재생성되지 않지만, 프로세스 안에서 다른 스레드.. 2018. 3. 17.
[android] PDF file 읽는 방법 [android] PDF file 읽는 방법 https://commonsware.com/blog/2017/01/04/options-viewing-pdfs.html -ACTION_VIEW action Intent 를 통해 third-party app 으로 권한을 양도 -PdfRenderer 를 써서 직접 구현.https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html API Level 21 부터 사용할 수 있으나, Bitmap 으로 render 를 시키고, 사용하기가 어렵다.표준을 따른 일부 PDF 들만 rendering 가능하다는 약점이 있다. -pdf.jshttps://mozilla.github.io/pdf.js/ Mozi.. 2018. 3. 16.
[android] Dependency conflict 해결하기 -아래 명령을 통해 dependency 와 그 버전을 확인 할 수 있다.만약 2개의 library 가 같은 lib 그러나 version 이 다른 dependency 를 가지고 있다면 highest dependency 를 가져간다../gradlew dependencies -같은 build variable 에 대해 공통의 dependency 가 있다면 위의 규칙을 따르지만,다른 build variable 에 대해서는 dependency conflict 가 발생 할 수 있다.예를 들면 compile 과 androidTestCompile 에 사용되는 lib 이 다른 version 을 가르킬 때이다. 이 경우 다음과 같이 dependency 를 제거할 수 있다. 1. 한 dependency 에서 conflict .. 2018. 3. 15.
[android] 잘 쓰지 않지만 유용한 android library 들 ( Spell Checker,Text Recognizer, TimeLogger, MediaProjection, PDF Creation ) [android] 잘 쓰지 않지만 유용한 android library 들 ( Spell Checker,Text Recognizer, TimeLogger, MediaProjection, PDF Creation ) https://blog.autsoft.hu/discovering-the-android-api-part-1/ Spell Checker -TextServicesManager 를 통해 접근 가능하며, API Level 14 부터 사용 가능하며, API Level 16 부터는 문장에 대해서도 check 가능하다. -TextServicesManager.newSpellCheckerSessionhttps://developer.android.com/reference/android/view/textservice/.. 2018. 3. 14.
[java] enum 의 serialize 에 대한 이야기 - enum 은 기본적으로 serializable 하다. - enum 의 serialization 은 다른 serialization 과 조금 다르다. enum 의 serialize 결과는 constant 의 이름뿐이다. enum serialize 시 ObjectOutputStream 에서는 'name' 함수의 return 값을 사용하고, enum 의 deserialize 시 ObjectInputStream 에서 constant name 을 읽어서 'valueOf' 함수를 이용해 enum constant 를 얻는다. 따라서 enum 이 변경 가능한 private field 를 가지고 있다면.. 변경된 값이 써지거나 복구되지 않는다. - enum 의 serialization 은 customize 될 수 없다.. 2018. 3. 13.
[android] png 기반 GIF 를 바탕으로 VectorDrawable 로 치환해 animation 만들기 [android] png 기반 GIF 를 바탕으로 VectorDrawable 로 치환해 animation 만들기 https://medium.com/google-developers/animation-jump-through-861f4f5b3de4#.tcugnrmsy -GIF 를 Photoshop 으로 열면 timeline view 에 animation frame 들이 나온다. -Sketch 라는 vector drawing tool 을 이용해서 path 를 잡고 SGV 로 export 를 한다.몇몇 tool 은 자동으로 vector path 를 만들어 준다. -Mobile 단말에서는 SGV 를 fully 지원하지 못할 수 있기 때문에 simplified 된 버전이 안정적이다.아래 사이트를 통해서 simplif.. 2018. 3. 12.
[android] library 를 dependency 에 명시할 수 있게 배포하기 [android] library 를 dependency 에 명시할 수 있게 배포하기 https://medium.com/dualcores-studio/make-an-android-custom-view-publish-and-open-source-99a3d86df228#.5v8a0pl9i1. JFrog Bintary 에 가입하고 로그인하라 https://bintray.com/ 2. Profile page 에 가서 Repository, Package, 그리고 Version 을 만들라. Package 는 Github 와 연동되어 땡겨오는 UI 가 제공된다. 3. aar 파일을 생성해서 upload 하라. https://github.com/blundell/release-android-library 를 사용하여 이를.. 2018. 3. 11.
[android] RxAndroid 맛보기 [android] RxAndroid 맛보기 http://www.vogella.com/tutorials/RxJava/article.htmlhttps://code.tutsplus.com/tutorials/getting-started-with-reactivex-on-android--cms-24387https://realm.io/kr/news/rxandroid/ -Observable.just() 는 Observable 을 생성한다.이렇게 생성된 Observable 에 subscribe 가 붙으면 곧바로 just() 에 전달된 녀석이 onNext() 로 전달된다.List list = Arrays.asList(“Android”, “Ubuntu”, “Mac OS”);Observable listObservable = .. 2018. 3. 10.
[android] RxJava가 뭐야? 맛보기! [android] RxJava가 뭐야? 맛보기! https://medium.com/@LIP/rxjava-29cfb3ceb4ca#.9nadkqnzxhttp://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/ -RxJava 란 Reactive Programming 을 위한 라이브러리인 Rx(Reactive Extensions)의 JVM 판이다.Rx 라는 녀석은 C# 에서 처음 개념이 나왔다고 볼 수 있다.Rx 란 비동기처리와 이벤트기반의 프로그램 개발을 위해 유용한 기능들을 제공하는 확장판이라고 볼 수 있다. -Reactive(반응적인) 코드의 기본적인 구성 요소는 Observable 들과 Subscriber 들이다.Observable 은 아이템들을 발행(emit).. 2018. 3. 9.
반응형