归档: 2021

深圳大鹏7娘山——2021.8.22

风景无敌(function(){var player = new DPlayer({"container":document.getElementById("dplayer1"),"autoplay":true,"theme":"#FADFA3","loop":true,"video":{"url":"/resources/video/seven_mom_moutain_one.mp4","pic

WebViewFactory.getProvider耗时问题的一种解决思路

背景最近在做外部拉起视频底层页整个链路上的一个耗时优化,发现在这个过程中有一个地方挺耗时的,如下所示: 可以看到这个WebViewFactory.getProvider()方法耗时了240ms! 找到WebViewFactory的源码如下所示: 12345678910111213141516171819202122232425262728293031323334353637383940414243

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的