请选择 进入手机版 | 继续访问电脑版

北南南北论坛

 找回密码
 立即注册
查看: 45|回复: 0

Android性能优化你了解多少

[复制链接]

646

主题

898

帖子

2887

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2887
发表于 2017-10-13 08:42:12 | 显示全部楼层 |阅读模式
还在为项目中的内存泄露发愁呢?还在为卡顿现象找不到原因吗?今天介绍一个强大的调试工具——BlockCannery。学完这个相信你能收获不少。

BlockCannery- 轻松找出Android App界面卡顿元凶

没有了解过性能优化的童鞋们建议先阅读:

Android性能优化 (1)—— 内存溢出和内存泄漏的介绍

BlockCanary 是一个 Android 平台的一个,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。

BlockCanary已有几个不同的版本,其改进如下:

1.5.0  添加可以在调试模式下停止监视的上下文。
1.4.1 修复错误
1.4.0 错误修复,在上下文中添加onBlock拦截器。
1.3.1 启用标签和图标的配置。
1.3.0 添加白名单和关注包功能。
先看效果图吧:

Mark-down.png

Mark-down2.png

代码指向了DemoFragment.java的第109行
Mark-down3.png

用法:

第一步:
在androidmenifest.xml中配置:

  1. //compile 'com.github.markzhai:blockcanary-android:1.5.0'
  2. debugCompile'com.github.markzhai:blockcanary-android:1.5.0'
  3. releaseCompile 'com.github.markzhai:blockcanary-no-op:1.5.0'
复制代码


第二步:
实现自己的application
并在onCreate()方法里加入:

  1. BlockCanary.install(this, new AppBlockCanaryContext()).start();
复制代码


第三步
监视应用程序的标签和图标可以通过在xhdpi drawable目录和strings.xml中放置一个可以绘制的块金丝雀图来配置:

  1. /**
  2. * 实现各种上下文,包括应用标示符,用户 uid,网络类型,卡慢判断阙值,Log 保存位置等
  3. */

  4. public class AppBlockCanaryContext  extends BlockCanaryContext {

  5.     /**
  6.      * Implement in your project.
  7.      *
  8.      * @return Qualifier which can specify this installation, like version + flavor.
  9.      */
  10.     public String provideQualifier() {
  11.         return "unknown";
  12.     }

  13.     /**
  14.      * Implement in your project.
  15.      *
  16.      * @return user id
  17.      */
  18.     public String provideUid() {
  19.         return "uid";
  20.     }
  21.   ......
  22. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


手机版|北南南北论坛  

GMT+8, 2017-12-18 14:53 , Processed in 0.071350 second(s), 34 queries .

© 2001-2016 VxWorks6 Inc.

快速回复 返回顶部 返回列表