linjiang's blog

HOME TIPS ARCHIVES ABOUT ME

Matrix-TraceCanary的设计和原理分析手册

matrix是微信开源的APM方案,其中TraceCannery是一套用于监控应用卡顿和帧率并提供精确化的日志捕捉和分析能力的模块。本文以手册形式对其设计方案的选择和功能背后的原理进行分析说明,以期对Android端性能检测和优化有更加透彻的理解。
2019-11-12 performance , matrix

Choreographer机制概述

Choreographer是用于协调动画、输入以及绘制三种事件的触发时间,属于Android渲染机制的一部分。本文主要概述Choreographer的实现以及如何衔接系统和应用的关系,并探讨了一种统计帧绘制的事件的方案。
2019-10-18 View

Dart的学习笔记

Dart语言博众家之长,本篇以Java语言角度记录一些学习Dart的笔记,期望包含其中的主要差异和特性。
2019-03-21 Dart , Flutter

使用InheritedWidget被忽略的要点

InheritedWidget是学习flutter不得不掌握的一个特殊组件,具备向下传值和选择性reBuild子树节点的特性,许多SDK组件包括第三方库包都是基于其特性实现,本文结合官方文档发现并解决了一个使用InheritedWidget时容易被忽略的问题,并给出推荐方案。
2019-02-25 Flutter , Widget

一种巧妙的drawable.xml替代方案-效果篇

本篇接上一篇,以演示代码和效果呈现。
2018-09-08 开源项目

一种巧妙的drawable.xml替代方案

如何维护(替换)drawable xml是android开发中一个老生常谈的话题。按照标准的Android布局开发模式,我们不得不为各种UI效果新建不同的xml文件进行描述,哪怕是简单的一个圆角。随着项目迭代,成百上千的xml连同那模棱两可的文件名,不仅让开发者复用或清理的成本难以估计,还使得项目体积急剧增大。因此,下面我们探索一种原理巧妙、适配全面的drawable替代方案。
2018-09-08 开源项目
上一页 下一页