의존도를 추가 :
구현 'com.github.markzhai : blockcanary - 안드로이드 : 1.5.0'
이 도구를 실행하는 것은 감지 설치됩니다 후, Caton 현상을 실행하는 주요 UI 스레드를 감지
공공 클래스 MainActivity는 확장 AppCompatActivity { 보호 무효 에서 onCreate (번들 savedInstanceState) { 슈퍼 .onCreate (savedInstanceState를); 된 setContentView (R.layout.activity_main); SystemClock.sleep ( 1000 ); } }
메인 인터페이스 Caton 1 초 보자
공공 클래스 에서는 MyApplication는 확장 응용 프로그램 { @Override 공공 무효 에서 onCreate () { 슈퍼 .onCreate (); BlockCanary.install ( 이 , 새 . AppContext ())를 시작 (); } 공용 클래스 AppContext는 확장 BlockCanaryContext는 { // 默认卡顿阈值为1000MS 공공 INT provideBlockThreshold () { 반환 1000 ; } // 输出的로그인 공공 문자열 providePath을 () { 반환"/ blockcanary /" ; }이 // 지원 파일이 업로드 공공 무효 업로드 (파일 zippedFile) { 던져 새로운 새로운 UnsupportedOperationException가가 (); } // Caton에서 사용자 지정 작업 제공 할 수 @Override 공공 무효 onBlock (컨텍스트 컨텍스트, BlockInfo BlockInfo를) { 에서 System.out.println ( "동작을 차단 ' ); } } }
Caton 하나 이상의 제 2 출력 로그를 검출
< 응용 프로그램 안드로이드 : 이름 = "에서는 MyApplication." 안드로이드 : allowBackup = "true"로 안드로이드 : 아이콘 = "@ 밉맵 / ic_launcher"
문 이름 속성