BlockCanary界面卡顿检测

Posted ocean123123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BlockCanary界面卡顿检测相关的知识,希望对你有一定的参考价值。

添加依赖:

  implementation  ‘com.github.markzhai:blockcanary-android:1.5.0‘

运行后会同时安装检测工具,主要检测UI线程运行卡顿现象

public class MainActivity extends AppCompatActivity 

    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SystemClock.sleep(1000);
    

    

让主界面卡顿1秒

public class MyApplication extends Application 
    @Override
    public void onCreate() 
        super.onCreate();
        BlockCanary.install(this, new AppContext()).start();

    

    public class AppContext extends BlockCanaryContext 
        //默认卡顿阈值为1000ms
        public int provideBlockThreshold() 
            return 1000;
        
        //输出的log
        public String providePath() 
            return "/blockcanary/";
        
        //支持文件上传
        public void upload(File zippedFile) 
            throw new UnsupportedOperationException();

        
        //可以在卡顿提供自定义操作
        @Override
        public void onBlock(Context context, BlockInfo blockInfo) 
            System.out.println("阻塞操作");
        
    

检测到卡顿超过1秒输出日志

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"

声明name属性

以上是关于BlockCanary界面卡顿检测的主要内容,如果未能解决你的问题,请参考以下文章

BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)

Android卡顿优化 | 基于AndroidPerformanceMonitor源码简析

如何监控项目里所有UI线程的操作(实战,BlockCanary)?

如何监控项目里所有UI线程的操作(实战,BlockCanary)?

Android 卡顿检测方案

如何测试手机是不是卡顿