No Red 可以在 Android 手机屏幕上显示 view 渲染时间,渲染时间越长,view 越红, 同时还可以统计页面渲染时间,并可以已柱状图的形式直观的显示当前页面的渲染时间
(审核中 2017-3-11) 或者
- compile 'com.wanjian:nored:0.0.1'
(已废弃)
- compile 'com.wanjian:rp:0.0.1.3'
, 4.0 以下还需要在每个 Activity 的 onResume 中调用
- RenderingPerformance.init(this, null);
并在 Activity 的 onPause 中调用
- RenderingPerformance.resume(Activity activity)
- RenderingPerformance.pause(Activity activity)
- application.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
- @Override
- public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
- }
- @Override
- public void onActivityStarted(Activity activity) {
- }
- @Override
- public void onActivityResumed(Activity activity) {
- }
- @Override
- public void onActivityPaused(Activity activity) {
- }
- @Override
- public void onActivityStopped(Activity activity) {
- }
- @Override
- public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
- }
- @Override
- public void onActivityDestroyed(Activity activity) {
- }
- });
- activity.getWindow().getDecorView()
可以构造一个 Config 作为参数初始化
, 可以指定统计周期,view 过滤器,颜色,统计图等, nored 提供了柱状统计图
- RenderingPerformance
和折线统计图
- DefaultPagePerformanceGraph
, 具体参考 Config 中 Build 每个方法注释
- PolylineChartPagePerformance
- Config config = new Config.Build(this)
- // .timeInterval(100)
- .pagePerformanceGraph(new DefaultPagePerformanceGraph(this) {
- @Override
- protected int getFactor() {
- return super.getFactor() * 20;
- }
- @Override
- protected int getGraphColor() {
- return 0x660000ff;
- }
- })
- .build();
- RenderingPerformance.init(this, config);
效果视频
来源: http://www.tuicool.com/articles/Fn2uEvJ