본문 바로가기
[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 RenderScript blur Android RenderScript Blur RenderScript 관련 API 들은 API 11 에 등장했다.하지만 Compat library 를 통해 API 8 부터 사용 가능하다. RenderScript 는 Graphic 작업을 할 때 CPU, GPU 중 해당 작업을 최적으로 처리할 수 있는 것을 찾아내서 multiple processor 작업을 하고 나중에 그 결과를 합치는 작업을 하여 성능을 매우 높인다. Native syntax 는 C99 기반으로, OpenCL, CUDA, GLSL 등이랑 비슷하다. private void blur(Bitmap bg, View textView, float radius) { Bitmap overlay .. 2014. 6. 8.
ViewPager 를 사용할 때 performance, memory 이슈 직면하지 않기. ViewPager 를 사용할 때 performance, memory 이슈 직면하지 않기. View 계층의 단순화 ViewPager 는 현재 보여지는 page 뿐만 아니라 좌, 우의 page 도 pre loading 시켜 놓는다.따라서 UI 복잡한 것들이 page 를 차지하고 있다면, scroll 을 하면서 계속 버벅이게 된다.즉, Pager 에 들어가는 view 구성은 최대한 단순하게. Thread 처리를 확실히. 한 화면에 모든것이 표현될 때는 Main Thread 에서 살~짝 heavy 한 일을 해도 그럭저럭 그냥 넘어가는 일이 발생한다.하지만, viewpager 의 경우는 좌우의 화면을 미리 그려놓기 때문에 생성되면서thread 에서 작업하는 것이 길어지면 성능이슈에 당면하게 된다.이에 대해 알지 .. 2014. 5. 15.
[android] 왜 MediaStore.ACTION_VIDEO_CAPTURE 를 실행하면 activity 의 oncreate 가 다시 불리는가? [android] 왜 MediaStore.ACTION_VIDEO_CAPTURE 를 실행하면 activity 의 oncreate 가 다시 불리는가? Activity 의 onCreate 가 다시 불린다는 것은, activity 가 destroy 되고 recreate 된다는 이야기하는 것인데,보통 activity가 recreate 되는 경우는 config change 의 경우로 볼 수 있다. 기본적으로 동영상 촬영의 경우 orientation 이 가로모드 ( landscape mode ) 가 되기 때문에,portrait mode 로 activity 를 유지하던 경우에는 orientation 이 돌아가 recreate 의 경로를 타게 된다.따라서 이를 방지하기 위해서라면 manifest 의 MediaStore... 2014. 2. 23.
[android] process 이야기 안드로이드, process 이야기. System 이 process 를 죽였을 경우, 2.2 ( Froyo ) 이전 버전에서는 무조건 새로 시작하였고, 그 이후로는 onCreate + Bundle 로 다시 state 를 복구해준다. Activity 들은 모두 destroy 되고 다시 재생성되는 그런 패턴이다. 메모리가 부족하거나 사용안한지 30분이 지나거나 하는 조건 하에 destroy 된다. 2.2, 30분, activity, Android, Bundle, Destroy, froyo, onCreate, process, process kill, state, state 복구, System, 메모리 부족, 안드로이드, 재생성, 프로세스 2013. 10. 3.
[android] activity flag 이야기 안드로이드, activity flag 이야기 참조 : http://developer.android.com/reference/android/content/Intent.html FLAG_ACTIVITY_SINGLE_TOP B 에 해당 flag 를 걸어 두었다면.. A->B->B 를 호출한 경우, 최종 stack 은BA 이 때 B의 생명주기는 onPause() -> onNewIntent() -> onResume() 을 탄다. FLAG_ACTIVITY_NO_HISTORY 마찬가지로 B 에 flag 를 걸어 두어두고 A->B->A 를 호출한 경우, 최종 stack 은A A 이 flag 는 다른 앱으로 전환되는 경우에도 destory 된다. 즉 A->B 상태에서 Home 키로 나가면 B 는 이미 destory 된 .. 2013. 8. 16.
[android] Viewpager with fragment problem. 안드로이드, Viewpager with fragment problem. Viewpager 와 fragment 를 동시에 사용할 경우 view redraw 가 잘 안 되는 현상이 발생하기도 한다.필자가 겪었던 문제는 Acitivity 를 사용하다가 Home 키로 나갔을 경우 한참후에 다시 들어오면 ViewPager 안에 있는 Fragment 들만 다시 안 그려지는 현상을 발견했다. ( ViewPager 바깥에 있는 Fragment 들은 잘 그려졌다. ) 구글링 결과 여러가지 솔루션을 제공하는데.. 1. View destroy 안 되게 하기 #1 FragmentPagerAdapter.setOffscreenPageLimit( int retainNumber ) 위의 함수를 통해 Fragment 를 destroy.. 2013. 7. 25.
반응형