본문 바로가기
[android] concurrent document에 대해 알아본다. [android] concurrent document에 대해 알아본다. https://www.youtube.com/watch?v=4Y3JMvbcxQEhttps://developer.android.com/guide/topics/manifest/activity-element#dlmode -안드로이드 LOS 부터 concurrent document 라는 새념이 생겼다.이는 런타임 시에 앱의 테스크를 몇 개라도 동적으로 생성할 수 있게 된다. -concurrent document 를 적극 활용하는 대표적 앱은 google drive 가 있겠다. -concurrent document 를 하는 방법은 두가지가 있다.첫째는 startActivity 시 Intent 의 flag 로 FLAG_ACTIVITY_NEW_DO.. 2019. 4. 25.
[도서 정리] 안드로이드 앱 성능 최적화 #5 메모리 성능 안드로이드 앱 성능 최적화 #5 메모리 성능 이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.자세한 내용은 책을 구매하여 보세요~5.1. 안드로이드 메모리는 어떻게 동작하는가 -안드로이드 기기에서 구동되는 자바 런타임(Dalvik 이나 ART)은 메모리 관리 환경이다.일반적으로 런타임에서 모든 메모리 할당과 해제(GC)를 처리한다. 5.1.1. 공유 메모리와 전용 메모리 -모든 앱에서 공통으로 사용하는 프레임워크 클래스, 리소스, 네이티브 라이브러리 등이 있다.안드로이드는 메모리를 절약하려고 이런 것을 공유 메모리에 올려두고 앱 사이에서 함께 사용한다.공유 메모리는 메모리 사용량을 분석할 때 프로세스에 균등하게 1/n 으로 나누어 적용한다. -전용 메모리는 특정 앱 내부에서 사용되.. 2018. 6. 26.
[android] JobStatus.getUID NullPointerException [android] JobStatus.getUID NullPointerException java.lang.RuntimeException: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.server.job.controllers.JobStatus.getUid()' on a null object reference at android.app.job.JobService$JobHandler.handleMessage(JobService.java:139) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:.. 2018. 4. 28.
[android] Ripple 에 대해 알아보자 [android] Ripple 에 대해 알아보자 https://blog.stylingandroid.com/ripples-part-1/https://guides.codepath.com/android/ripple-animation -Ripple 자체는 Android L ( LOS ) 부터 나왔다.그러나 필자는 Ripple 을 실제로 처리할 일이 없어서, 그런 것이 있구나~ 하는 상태로 지내왔으나 이제 쓸 일이 있어서 정리해본다. -Ripple 은 새로운 RippleDrawable 이라 불리는 새로운 Drawable 이다.xml 로는 아래와 같이 정의하며, 기존 selector 정의해서 쓰듯 일반적으로 background 에 지정해주면 된다. -Ripple 을 그냥 적용해버리면, effect 가 해당 view.. 2018. 3. 30.
[android] Firebase JobDispatcher 문제.. (Job 미실행) [android] Firebase JobDispatcher 문제.. (Job 미실행) - 글을 쓰는 현재 시점 Firebase JobDispatcher ( 이하 FJD ) 는 0.8.5 version - 현재 발생하는 문제는 N 미만 버전 ( not including N ) Google Play Service(이하 GPS) 가 최신버전이 아니면 제대로 동작하지 않는다. 현재 가장 최신 버전 GPS 11.7.44 에서는 제대로 동작하지만.. 심지어 17.05.18 release 된 11.0.47 에서는 Schedule 한 job 이 불리지 않는다… 심각하다.. - JobScheduler 자체는 LOS 부터 사용이 가능하기 때문에, L 미만에서는 Service + Broadcast + AlarmManager.. 2017. 12. 5.
[android] Tinting drawables [android] Tinting drawables http://andraskindler.com/blog/2015/tinting_drawables/ -Tinting drawable 은 현재의 theme 에 맞춘 drawable 을 만들 때 유용하게 사용할 수 있다.apk size 도 줄일 수 있는 장점이 있다. -v4 support library 에 DrawableCompat 이라는 class 가 있다.이 녀석은 원래 LOS 이상에서 가능한 tinting (색깔 입히기, 물들이기) 기능을 활용할 수 있게 한다. 그러나 이 녀석은 아직도 wrap() 라는 함수를 통해 wrap 해주어야 하는 단점이 있다.그래서 TintedBitmapDrawable 을 구현해서 사용하는 것이 추천된다. -TintedBitmap.. 2017. 9. 15.
[android] Notification 에 meta data 를 추가하자 https://plus.google.com/+AndroidDevelopers/posts/7QBWvNXs2mD -기존 안드로이드의 Notification 은 importance 와 timestamp 만 보고 ordering 을 했다. -Android 5.0 ( LOS ) 부터는 ordering 을 결정하는 데 영향을 미치는 meta data 들이 추가되었다. -ordering 에 영향을 미치는 녀석 중 하나는 addPerson 을 통한 사람의 추가이다. -addPerson 은 CONTENT_LOOKUP_URI, tel:, mailto: 이 셋 중의 하나의 scheme 을 Uri 형태로 받는다. 이 정보를 기반으로 연락처 정보를 찾는다.이 찾은 결과는 not found, match found, starred.. 2017. 8. 24.
[android] VectorDrawable 에 대한 이야기 [android] VectorDrawable 에 대한 이야기 https://blog.stylingandroid.com/vectordrawables-part-1/ -LOS 부터 등장한 녀석으로 SVG 형식으로 xml 을 정의하여 drawable 로 사용할 수 있다. -V 1.4. 이전에서는 android studio 에서는 preview 를 제대로 그리지 못하는 이슈가 있지만, 이후버전에서는 수정됨. -VectorDrawable 을 사용하면 각 해상도에 필요한 res 를 넣어주지 않아도 되서 app size 가 많이 절약된다. -drawable/android.xml 위의 코드는 이 녀석을 그린다. -vector 로 animation 을 하려면 animated-vector 를 정의하여 assign 해줘야 한.. 2017. 6. 2.
[android] LOS visibility change & ripple animation glitch (잔상문제) [android] LOS visibility change & ripple animation glitch (잔상문제) LOS 이상에서 버튼 클릭을 하면 기본적으로 ripple animation 이 발생한다.Animation 도중 visibility 를 gone 으로 만들었다가 나중에 visible 로 다시 만들면,gone 당시 진행중이던 ripple 이 남아있게 되서 visible 이 되는 순간 남아있던 ripple effect 가 보이게 되어 ugly 하다. 이것을 해결하려면..아래의 함수를 통해 해결할 수 있다!! ViewCompat.jumpDrawablesToCurrentState( View ); // examplemyButtonContainer.setVisibility(View.VISIBLE);Vi.. 2017. 5. 29.
반응형