반응형

코딩하기/Android 6

ViewStub을 통한 뷰 로딩 개선 : 안드로이드 성능 개선 #1

안녕하세요 긍정열매입니다 개발을 하면 사용자 피드백으로 "왜 이리 느려요!!!" 라는 말을 들어보셨을거 같습니다. 그때마다 우리는 말합니다 .... 그...글쎄요.... 이런 분들을 위해 자그마한 도움이 되고자 오늘도 글을 작성합니다. 이전 포스팅에서 전반적으로 성능에 대해서 기본적인 개념 및 성능 해결에 대한 방법 접근에 대해서 설명 드렸습니다. https://ysmlove111.tistory.com/377 안드로이드 성능 문제 해결을 위해(오늘밤도 글렀..) 안녕하세요 긍정열매입니다 "왜 이리 느려요?" 어플을 개발하다보면 이런 피드백을 한번쯤 경험하게 됩니다 열심히 개발했지만 일정에 치여서, 원가절감에 의해, 화려한 애니메이션 적용을 위 ysmlove111.tistory.com 기억하시죠??? 흠...

안드로이드 성능 문제 해결을 위해(오늘밤도 글렀..)

안녕하세요 긍정열매입니다 "왜 이리 느려요?" 어플을 개발하다보면 이런 피드백을 한번쯤 경험하게 됩니다 열심히 개발했지만 일정에 치여서, 원가절감에 의해, 화려한 애니메이션 적용을 위해등등 여러가지 대외(?)적인 상황에 그렇게 시장에 내놓을수 밖에 없었다고 하소연하고 싶을지도 모릅니다 하지만 일개 힘없는 개발자로서 안타깝게도 그럴수가 없기에 어떻게든 성능을 향상 시킬수 있는 방법을 찾아야 하는게 숙명이겠죠 저역시 그동안 많은 성능 이슈를 겪어왔고, 이를 개선하고자 했던 노력들을 조금씩 정리해보고자 합니다. 그중 오늘은 아래와 같은 카테고리들로 안드로이드 어플리케이션 성능에 대해서 이야기 해보고자 합니다 성능에 대한 정의 성능 이슈 해결을 위한 기본적인 지식 성능 개선 예제 유형 성능 프로파일 도구 1. ..

Debugging(2) - 안드로이드 함수 수행 시간 체크

안녕하세요 지난번 Debugging(1) 글에 이어 두번째 글입니다 Debugging(1) - 콜스택을 이용한 디버깅(부제: 누가 내 치즈를 옮겼을까?) 디버깅을 하는 이유중 오류를 잡기 위해서도 있지만 다른 하나로 내가 만든 로직이 얼마만큼의 성능을 내고 있는지 확인이 필요할 때가 있습니다. 성능을 확인하는 방법은 여러가지가 있을겁니다, 배터리를 얼마큼 소모하는지 측정하거나, 얼마나 빠르게 로직이 수행되는지, 불필요한 로직이 있는가 이중 로직 처리 시간을 체크하는 기본적인 방법에 대해서 확인해보겠습니다 한개의 함수안에서 체크하는 경우에는 간단히 다음과 같이 확인해볼수 있습니다 void A(boolean callB) { long startTime = System.currentTimeMillis(); if..

Debugging(1) - 콜스택을 이용한 디버깅(누가 내 치즈를 옮겼을까?)

안녕하세요 이번엔 디버깅에 대해서 이야기 해보고자 합니다. 초급 개발자라면 대부분 대해서 개발중 디버깅에 상당한 시간이 소요될거라 봅니다. 물론 개발 능력이 뛰어난 개발자가 혼자 개발하는 경우, 검증이 많이 필요치 않는 경우는 제외하고 가겠습니다ㅋ 하지만 본인이 뛰어난 개발자라도, 프로젝트의 규모가 커지고 여러사람이 투입되어 동시에 개발하는 경우에는 다른 사람이 만들어 놓은 부분에 대해서는 디버깅이 필요 할 수 밖에 없습니다. 이 카테고리에서는 개발을 하면서 가장 많이 하는 디버깅할때 유용한 팁을 몇가지 소개하고자 합니다 그 첫번째로 콜스택을 이용한 디버깅 방법에 대해서 소개 하겠습니다 예를 들어 C라는 스트링을 받아서 숫자로 바꾸는 함수가 있다고 생각해보겠습니다 그리고 C를 호출하는 경우가 아래와 같이..

[Android] GradientDrawable로 View에 corner radius 적용하기

GradientDrawable을 이용하여 View의 코너가 라운드 처리된 배경이미지 적용하기 layout_test.xml 선언 java 코드상에서 View mTestView 를 선언하고 위 layout을 inflate하여 연결함 GradientDrawable gradientDrawable = new GradientDrawable(); gradientDrawable.setColor(Color.parseColor("#2980B9")); gradientDrawable.setCornerRadius(100); mTestView.setBackground(gradientDrawable); //mTestView 내부에 TextView를 넣고 글자를 하얀색으로 표시 TextView textView = mTestView...

[Android Permission] 다른 앱 위에서 View 생성 할수 있는지 권한 체크하기

Setting의 canDrawOverlays를 이용하여 사용자 어플이 다른 어플위에서 View를 Draw할수 있는지 확인 가능 import android.provider.Settings; if (!Settings.canDrawOverlays(getApplicationContext())) { Toast.makeText(getApplicationContext(), "다른 앱 위에 표시되는 권한 앱 요청에 동의 해주셔야 기능이 정상적으로 이용 가능합니다.", Toast.LENGTH_SHORT).show(); return; } 만약 사용자에게 권한을 설정 화면에서 설정 가능하도록 유도하고자 하면 다음의 코드를 활용 Intent overlayIntent = new Intent(Settings.ACTION_MANA..

반응형