본문 바로가기

layout25

[android] Pie (POS) 에서의 text [android] Pie (POS) 에서의 text https://android-developers.googleblog.com/2018/07/whats-new-for-text-in-android-p.html PrecomputedText -TextView 에서 text 의 measure, layout 에 엄청 많은 일을 한다.font file 을 읽고, 상형문자를 찾고, shape 를 결정하고, bounding box 를 measure 하고, cache 를 한다.그리고 이 모든 일들은 UI Thread 에서 이루어진다. ( frame 하락을 가져온다. ) 이 중에서 text measuring 이 90% 시간을 차지한다.이 문제를 해결하기 위해 Jetpack 의 일부로 PrecomputedText 가 들어갔.. 2019. 7. 25.
[도서 정리] 안드로이드 앱 성능 최적화 #4 화면과 UI 성능 개선하기 안드로이드 앱 성능 최적화 #4 화면과 UI 성능 개선하기 이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.자세한 내용은 책을 구매하여 보세요~4.1. UI 성능 벤치마킹 -0~100ms 의 지연은 순간으로 인식.100~300ms 는 약간 느리다.300~1000ms 는 뭔가 기계가 동작 중이구나1000ms 이상이면 집중력을 잃기 시작한다. -웹 페이지의 경우 3~4초 안에 페이지 로딩이 되지 않으면 사용자의 50% 이상이 보던 페이지를 벗어난다.같은 논리로 앱도 당연히 빨리 시작할수록 좋다. 4.1.1. 쟁크 (Jank) -안드로이드 팀에서는 프레임 누락으로 인해 화면의 부드럽지 않음 움직임을 쟁크(jank)라고 부른다. 4.2. 안드로이드 UI 및 랜더링 성능 개선의 역사 -진저.. 2018. 6. 25.
[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] ConstraintLayout Tutorial [android] ConstraintLayout Tutorial https://developer.android.com/training/constraint-layout/index.html -ConstraintLayout 은 RelativeLayout 과 매우 비슷하게 Flat 한 view hierarchy 를 만들 수 있으면서도. 조금 더 유연하게 사용할 수 있다.그리고 Android Studio Layout Editor 를 통해 쉽게 설정할 수도 있어 편리하다. ( 이것을 key 로 미는 듯 ) -여기서 궁금한 거 하나 더!!Flat view hierarchy 는 알겠는데 그만큼 성능도 좋을까?결론은 성능도 좋다. ( 다른 layout 에 비해 약 10% 이상 빠르다 )https://medium.com/.. 2018. 3. 3.
[ios] UIView 에 대한 이야기 [ios] UIView 에 대한 이야기 참조 : https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/ -UIView 는 다른 View 를 가질 수 있다. -보통 Subview 는 superView 의 bound 에 clip 되지 않지만 clipsToBounds property 를 사용하면 clip 시킬 수 있다. -view 의 geometry 는 frame, bounds, 그리고 center property 에 의해 결정된다.frame 은 superview 기준의 position 과 size 를 결정할 때 사용된다.center 는 size 변화 없이 position 변경할 때 사용된다.bounds 는 view.. 2017. 11. 10.
[android] xml 의  tool 을 사용하자 [android] xml 의 tool 을 사용하자 https://medium.com/sebs-top-tips/tools-of-the-trade-part-1-f3c1c73de898https://developer.android.com/studio/write/tool-attributes.html -xmlns:tools="http://schemas.android.com/tools" aapt 는 tools: attribute 를 ignore 한다.그래서 실제 apk 에는 들어가지 않는다. - 위와 같이 tools: 를 사용하면 실제 xml 에서 pre draw 할 때는 tools:text 가 android:text 처럼 작동하지만,apk 는 들어가지 않는다. aapt( android asset packaging .. 2017. 5. 30.
[iOS Study] UINavigationController [iOS Study] UINavigationController 출처 : 아론 힐리가스의 iOS 프로그래밍 -각 설정은 세부 페이지를 가지고 그 세부 페이지는 또 관련된 하위 페이지를 가진다.이러한 형태의 인터페이스를 드릴 다운 인터페이스(drill-down interface)라 한다. -앱에서 여러 정보 화면을 나타낼 때 UINavigationController 가 그 화면들의 스택을 관리한다.각 화면은 UIViewController 의 view 이고, 그 스택은 뷰 컨트롤러의 배열이다.UIViewController 가 스택 꼭대기에 있을 때 그 컨트롤러의 view 가 보여진다. -UINavigationController 의 인스턴스를 초기화할 때 그 인스턴스에 UIViewController 를 전달해줘.. 2016. 2. 22.
Android GridLayout Tutorial Android GridLayout Tutorial 점점 화면에 표시하는 UI 가 많아지면서 Layout 의 중첩 ( overdrawing ) 으로 성능 영향이 생기기 시작했다.RelativeLayout 을 통해 이를 방지하는 tutorial 혹은 guide 들이 많이 나오기는 했지만,이는 xml 코드(?) 를 엄청 복잡하게 만들고, 유지보수 또한 어려워지기 쉽상이다. 그래서 ICS 부터 GridLayout 이라는 새로운 layout 이 도입되었다.물론 support-v7 를 통해 ICS 이전 버전에서도 GridLayout 을 이용할 수 있다. http://developer.android.com/reference/android/widget/GridLayout.html GridLayout 은 Web 의 Ta.. 2014. 6. 10.
Android ViewDragHelper Tutorial Android ViewDragHelper Tutorial 이 녀석은 Youtube 비디오가 우하단으로 축소되는 것의 구현에 사용된 녀석이다. ViewDragHelper ( 이하 VDH ) 는 다음과 같은 특징을 가지고 있다. - ViewDragHelper.Callback 은 parent view 와 VDH 간의 communication channel 이다.- VDH instance 를 만들기 위해서는 static factory method 를 이용하면 된다.- Drag direction 은 설정 가능하다.- View 가 없어도 drag detection 이 가능하다. VDH 는 support-v4 library 에 있다.VDH 는 VelocityTracker 나 Scroller 를 사용하여 구현되어 있다.. 2014. 6. 9.