티스토리 뷰
반응형
LeakCanary
Leak Canary 경우 메모리 누수를 감지해주는 디버깅 툴이다. 액티비티에서 메모리 누수가 발견될경우 사용자에게 알람을 띄워주며, 별도의 프래그먼트에서 누수를 감지하고싶으면 refWatcher로 집어넣어준다음에 onDestory 가 호출될때 refWatcher도 별도로 호출해야한다.
사용법
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
}
@Override // BaseApplication.java
public void onCreate() {
if (LeakCanary.isInAnalyzerProcess(this)) return;
refWatcher = LeakCanary.install(this);
}
public static RefWatcher getRefWatcher(Context context) { // Fragment Leak 감지하려면, Fragment 에서 refWatcher 을 이용해서 watch 를 시켜야한다
DebugApplication application = (DebugApplication) context.getApplicationContext();
return application.refWatcher;
}
Hugo
Hugo 는 annotation-based 로깅 툴이다. 사용하기도 매우 간편하다. Log.d(TAG, message) 를 호출하기보다, @DebugLog annotation 하나만 추가하면, 메소드가 실행되는데 걸린 시간부터 파레메터로 받은 변수들 까지 다 손쉽게 볼 수 있는 것이다.
사용법
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.hugo'
@DebugLog
public String getName(String first, String last) {
return first + " " + last;
}
출력 화면
V/Example: ? getName(first="Jake", last="Wharton")
V/Example: ? getName [16ms] = "Jake Wharton"
Leak Canary 경우 메모리 누수를 감지해주는 디버깅 툴이다. 액티비티에서 메모리 누수가 발견될경우 사용자에게 알람을 띄워주며, 별도의 프래그먼트에서 누수를 감지하고싶으면 refWatcher로 집어넣어준다음에 onDestory 가 호출될때 refWatcher도 별도로 호출해야한다.
사용법
dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
}
@Override // BaseApplication.java
public void onCreate() {
if (LeakCanary.isInAnalyzerProcess(this)) return;
refWatcher = LeakCanary.install(this);
}
public static RefWatcher getRefWatcher(Context context) { // Fragment Leak 감지하려면, Fragment 에서 refWatcher 을 이용해서 watch 를 시켜야한다
DebugApplication application = (DebugApplication) context.getApplicationContext();
return application.refWatcher;
}
Hugo
Hugo 는 annotation-based 로깅 툴이다. 사용하기도 매우 간편하다. Log.d(TAG, message) 를 호출하기보다, @DebugLog annotation 하나만 추가하면, 메소드가 실행되는데 걸린 시간부터 파레메터로 받은 변수들 까지 다 손쉽게 볼 수 있는 것이다.
사용법
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.hugo'
@DebugLog
public String getName(String first, String last) {
return first + " " + last;
}
출력 화면
V/Example: ? getName(first="Jake", last="Wharton")
V/Example: ? getName [16ms] = "Jake Wharton"
반응형
'개발 > 안드로이드' 카테고리의 다른 글
[안드로이드 / android] Code Style #1 (0) | 2018.07.09 |
---|---|
[안드로이드 / android] 그래들(gradle) 빌드 최적화 (0) | 2018.07.06 |
[안드로이드 / android] 알파값 비율을 헥사값으로 변환하기 Alpha percentages to hex (0) | 2018.07.05 |
[안드로이드 / android] 안드로이드 작명법 Naming Conventions (0) | 2018.07.05 |
[안드로이드 / android] xml include와 merge의 차이 (0) | 2018.07.03 |
댓글
공지사항
최근에 올라온 글