zoukankan      html  css  js  c++  java
  • 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属性

    FPS基本的概念:

    60 fps 的意思是说,画面每秒更新60次
    这60次更新,是要均匀更新的,不是说一会快,一会慢,那样视觉上也会觉得不流畅
    每秒60次,也就是 1/60 ~= 16.67 ms 要更新一次

  • 相关阅读:
    gcc编译器遇到的部分问题的总结(二)
    gcc编译器遇到的部分问题的总结
    Illegal instruction与march编译选项
    使用using与typedef来定义别名
    C++模板学习之递归
    C++模板学习之typename
    简单的listen+fork accept服务器实现
    一个简单的日志类的开发
    linux中的select和epoll模型
    程序异常退出调试(二)
  • 原文地址:https://www.cnblogs.com/Ocean123123/p/11025102.html
Copyright © 2011-2022 走看看