主页

Android SystemTrace实战

SystemTrace使用在命令行输入如下命令: python /Users/easyliu/Library/Android/sdk/platform-tools/systrace/systrace.py –time=10 -o mynewtrace.html 然后启动App,10s之后会在当前目录下面生成一个文件mynewtrace.html文件,这个文件只有使用chrome浏览器才能打开,

ValueAnimator属性动画深入解析

前言在上一篇博文Handler消息机制深入解析当中,在最后面说到: ViewAnimation底层也是通过调用invalidate来实现的,无限循环动画就会导致无限调用invalidate,就会导致idle得不到执行。属性动画的实现原理不同于View动画。View动画的每一帧都是通过invalidate方法来触发重绘,而属性动画每一帧的绘制都是通过Choreographer的回调实现。因此,本质

Handler消息机制深入解析

前言大家在日常开发中肯定用过Handler,常用的API主要有: 1234post(@NonNull Runnable r) postDelayed(@NonNull Runnable r, long delayMillis)postAtFrontOfQueue(@NonNull Runnable r) .......... 在主线程中可以通过这些API可以进行延时操作,在子线程中可以通过这些A

hexo博客添加评论、字数、阅读时间以及访问量

hexo添加评论及访问量这里我们使用valine评论系统,大部分的hexo主题已经集成了valine评论系统了,关于valine的更多细节,参考:https://valine.js.org/quickstart.html 1、首先去https://www.leancloud.cn注册一个账户,注册完以后需要创建一个应用,名字可以随便起,然后 进入应用->设置->应用key ,获取你的

Glide系列之——Glide对象创建及功能扩展

前言Glide是一个优秀的开源图片加载组件,广泛应用在各大App当中,并且也是Google官方强力推荐的一个图片加载库,根据官方文档介绍: Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的

Glide系列之——初识Glide

前言Glide是一个优秀的开源图片加载组件,广泛应用在各大App当中,并且也是Google官方强力推荐的一个图片加载库,根据官方文档介绍: Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的

LeakCanary源码解析之——dump堆栈

前言在前一篇文章LeakCanary源码解析之——内存泄漏监测当中从源码的角度对Leakcanary中内存泄漏监测原理进行了剖析。既然监测到了内存泄漏,那么接下来就是要把堆栈给dump出来,进行堆栈分析,最终以图形化的方式展示内存泄漏堆栈。本篇文章就从源码的角度分析一下dump堆栈的过程。 本次分析的源码基于: 123dependencies { debugImplementation

LeakCanary源码解析之——内存泄漏监测

前言在日常开发中,肯定都使用过LeakCanary这个库来监测app的内存泄漏问题。LeakCanary会自动监测、分析以及上报内存泄漏,其工作主要是分为以下四步: 1、监测泄漏的对象 2、dump堆栈 3、分析堆栈 4、对泄漏进行归类,然后通过通知的方式上报内存泄漏 那么LeakCanary监测内存泄漏的原理是什么呢,怎么判断一个Activity或者Fragment被泄漏了呢?本篇文章就从源

Jetpack Compose初体验

关于Jetpack Compose Android Jetpack Compose是2019 Google/IO大会上推出的一种声明式的UI开发框架,经过一年左右的演进,现在到了alpha阶段。Jetpack Compose是用于构建原生界面的新款Android工具包。它可简化并加快Android上的界面开发。使用更少的代码、强大的工具和直观的KotlinAPI,快速让应用生动而精彩,从此不再需要