Quibbler

Quibbler

站长

加入于 2019-10-06

不忘初心的阿甘

598

文章

41

评论

TA 的文章(580)

Android

MessageQueue中的同步屏障

MessageQueue中的同步屏障Message,最早可以翻到两年前写的一篇粗浅博客《信件:Message》。当时还不明白异步消息、同步消息,更不懂今天要写的同步屏障。同步屏障,简而言之就是让异步消息的优先级高于同步消息,优先被处理。1、同步屏障MessageQueue设置同步屏障后,会拦截对同步消息的处理,只会处理异步消息,如果没有异步消息则进入阻塞状态。若没有及时移除同步屏障,所有的同步消息

2.2k
Choreographer源码阅读
Android

Choreographer源码阅读

Choreographer源码阅读之前已经在很多地方看到过Choreographer的身影,必须要仔细的看一遍Choreographer源码以理解其实现原理。Choreographer请求和接受来自底层的VSYNC信号,给上层应用提供一个稳定的周期,去处理Input事件、动画、更新布局等。1、Choreographer构造及初始化Choreographer直译为编舞者,看完源码更能理解Choreo

2.7k
Git可视化工具:Sublime Merge
Git

Git可视化工具:Sublime Merge

Git可视化工具:Sublime Merge同事推荐了一个Git 可视化客户端:Sublime Merge ,由知名文本编辑器 Sublime Text 开发商打造。自己平时用的则是最好用的Git GUI工具:SourceTree,也体验了下Sublime Merge,用起来还不错。直接点击下载或购买后,安装即可。功能免费,完整功能无限制使用。但是订阅内容(比如更换主题)付费。Sublime Me

2.8k
Animator属性动画源码
Android

Animator属性动画源码

Animator属性动画源码仔细看看属性动画的源码,加深对动画实现原理的了解。ObjectAnimator继承自ValueAnimator,本篇主要以ValueAnimator为主。关于属性动画,详见之前两篇介绍属性动画的文章:属性动画:ValueAnimator和属性动画:ObjectAnimator。1、属性动画的构造得益于框架优秀的设计,构造一个属性动画对象很简单,举个简单的例子:从Valu

2.4k
一键解除文件占用:LockHunter
分享

一键解除文件占用:LockHunter

一键解除文件占用:LockHunter前段时间在Windows解除文件占用小技巧一文中,记录了Windows下接触文件占用的方法,步骤还是比较繁琐的。要是能一键解除文件占用可以让效率提高不少。(火绒安全软件右键也有这个功能)功夫不负有心人,找到了一个免费的文件解锁神器:LockHunter,LockHunter用于对抗恶意软件和其它无故阻止文件的程序。 与其他类似工具不同,它会将文件删除到回收站中

4.5k
布局彩蛋:BlinkLayout闪烁布局
Android

布局彩蛋:BlinkLayout闪烁布局

布局彩蛋:BlinkLayout闪烁布局解析XML布局的过程中有一个彩蛋,在LayoutInflater类中的tryCreateView()方法里:其中TAG_1995标签的定义如下,在这里还能看到熟悉的两个布局tag:<merge/>和<include/>。1、使用<blink/>新建一个普通项目,在XML布局中尝试一下<blink/>这个标签:忽略AndroidStudio的Cannot re

2.1k
LayoutParams初始化流程
Android

LayoutParams初始化流程

LayoutParams初始化流程在View布局参数LayoutParams一文中对布局参数有了详细的了解。用getLayoutParams()方法获取View的布局参数:每个View中的mLayoutParams实例可以通过setLayoutParams(ViewGroup.LayoutParams params)方法设置的:不需要为View初始化mLayoutParams实例,因为这是View

2.1k
View布局参数LayoutParams
Android

View布局参数LayoutParams

View布局参数LayoutParams为了计算布局实现动效和LayoutParams密切接触有一段时间,LayoutParams彻底玩明白了。1、LayoutParamsLayoutParams直译为布局参数,是定义在ViewGroup中的静态内部类。1.1、LayoutParams用途LayoutParams类的注释清楚的写明此类的用途:LayoutParams是子View用来告诉它们的父布局

1.8k
开源

EventBus源码分析​(四):EventBus中的几种设计模式

EventBus源码分析(四):EventBus中的几种设计模式再看一下EventBus,总结一下其中几个重要的设计模式,也是最常见的几种设计模式:单例模式、建造者模式、观察者模式。多看源码的好处之一就是能从优秀的代码里活学活用。1、单例模式单例模式(Singleton Pattern)是设计模式中最简单也是最常见的设计模式。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模

2.0k
Windows解除文件占用小技巧
分享

Windows解除文件占用小技巧

Windows解除文件占用小技巧从网上下载各种资源的时候,难免会遇到流氓软件。比如这种常见的工具下载站点,不能直接下载文件,而是要通过提供的下载器下载:一旦运行之后,就会遇到文件或者文件夹删除不掉的麻烦事。这些软件隐藏起来运行,在后台执行不为人知的操作。很多时候遇到文件夹或者文件无法删除,是因为要删除的文件/文件夹正在被某个程序占用使用中。打开任务管理器,如果能够直接在运行的进程中找到运行的程序,

2.1k