首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android 开发中某些东西原理
订阅
蓝渊智海
更多收藏集
微信扫码分享
微信
新浪微博
QQ
85篇文章 · 0订阅
Android 流畅度检测原理简析
android在不同的版本都会优化“UI的流畅性”问题,但是直到在android 4.1版本中做了有效的优化,这就是Project Butter。 Project Butter加入了三个核心元素:VSYNC、Triple Buffer和Choreographer。其中,VSYN…
LayoutInflater.from参数Context传Activity、Application区别
关于Context,首先想到的是生命周期的不同。今天学习LayoutInflater查看源码,才发现具体的区别。 mBase具体的实现类是ContextImpl,getSystemService返回的Inflater对象是PhoneLayoutInflater。 this.ge…
向死而生:面向失败设计之道、术、技
业务开发的新同学有时候可能会有迷之自信,觉得自己写的代码与老鸟们没有什么不同。实际上,编写正常流程的业务代码大家的差异不会太大,但是针对异常、边界、不确定性的处理才真正体现一个程序员的功力。
做了这么多年 Android,你对系统特性有多熟悉?
系统版本适配是每个应用都需要面对的问题,很多同学表示很难跟上系统的更新步伐,有些问题往轻了说只是用户体验稍微差些。测试没发现,产品不提,老板不懂,得过且过皆大欢喜,早点下班不香吗?但我们就只满足于此吗
从Fresco源码中找到非侵入式的答案
我发现,市面上最主流的加载框架大概只有这Fresco,Glide,Picasso,而Glide又脱胎于Picasso,他们的API结构是很类似的,只要能够兼容这Fresco和Glide这两个库,基本就可以形成一个统一的图片加载框架。 但是实际上,在构造统一的图片加载框架的时候,…
Retrofit源码分析
接下来按照Retrofit实例的创建、retrofit.create方法的调用、api.inTheater方法的调用、call.execute方法的调用来分析Retrofit的源码。 1. 解析方法上的注解 2. 解析方法参数上的注解 接着又调用到了parseParameter…
WorkManager原理解析及兼容测试
首先,Demo里直接访问的WorkManager#getInstance,返回的是一个WorkManagerImpl实例,而WorkManagerImpl的实例可以委派给外部去构造,只不过加了RestrictTo.Scope.LIBRARY_GROUP,业务层没法替换。 最终会…
Android进阶——Java注解实战之APT构建模块化的第一步
APT的学习要花点时间去掌握和实践的,短时间内只能掌握知识点,更多的是在实战中去实践。其实,APT就是一种工具而已,只要用多了,自然就会熟练了,不过要想实践之前,还是必须把基础知识学好才能实战进入开发。文章会从基础用例讲解知识点,然后再通过实战进行实践 APT(Annotati…
Timer机制源码浅析
Handler机制大家应该都烂熟于心了,今天我来讲讲Timer这个不常被问到的定时器。 改日再说线程池,预计是周日。 Timer机制包含了四个主要核心类:Timer,TaskQueue,TimerThread,TimerTask。咱们一个个来了解。 Timer类加载时创建新的任…
【源码阅读】AndPermission源码阅读
权限是绝大多数App必不可少的部分,不管你仍在用原生的方式,还是其他的开源库,AndPermission绝对是值得学习的一个开源库,今天,我们就来学习下它的设计思想。 权限库的思路大体上都如下图所示,也玩不出太复杂的花样。 可以看到,这里对不同的Request做了封装,对以后的…