首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Airsaid
掘友等级
Android 高级工程师
坚持学习,让正确的事持续发生~
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
20
文章 15
沸点 5
赞
20
返回
|
搜索文章
赞
文章( 15 )
沸点( 5 )
Android Detail:Window 篇—— WindowInsets 与 fitsSystemWindow
阅读本文,你将了解 Android 将内容绘制到状态栏和导航栏后面的原理;WindowInsets 的分发逻辑;获取状态栏高度的最佳实践;edge-to-edge 的适配等内容
Shadow解决插件和宿主有同名View的方法解析
在“免安装运行App”这个场景中,插件代码通常和宿主是完全不相关的。甚至项目都是独立管理的,插件和宿主是不同团队开发,不同版本发布管理的。在这种情况下,插件和宿主中出现相同名字的类是非常常见的。只要设计好ClassLoader的结构,将插件和宿主的ClassLoader隔离开,…
Shadow对PackageManager的处理方法
在Android开发中免不了使用PackageManager获取当前应用的一些信息。 从官方文档上能确定PackageManager一般都是通过Context的getPackageManager方法获得的,实际上我们平常开发中也只有这个途径。 显然,如果插件框架什么都不做,插件…
今日头条 Android '秒' 级编译速度优化
Android 项目一般使用 gradle 作为构建打包工具,而其执行速度慢也一直为人所诟病,对于今日头条 Android 项目这种千万行级别的大型工程来说,全量编译一次的时间可能高达六七分钟,在某些需要快速验证功能的场景,改动一行代码的增量编译甚至也需要等两三分钟,这般龟速严…
Android 揭露动画(Reveal Effect)的兼容实现
Android 5.0 系统提供了 ViewAnimationUtils#createCircularReveal() API,用于给我们方便的创建揭露动画。但是该 API 只支持 5.0 及以上,那么 5.0 以下该怎么办呢?网上的一些方法,大多都是通过自定义 Shape 然…
[译] 我在编程初级阶段常犯的错误
我要先声明一点,如果你是一个初级程序员,本文并非要让你因为可能正在犯这些错感到蓝瘦香菇,而是要让你意识到它们的存在,教你如何辨识它们,并且提醒你避免犯这些错。 过去我经常犯这类错误,从每一个错误中我都吸取了很多教训。可喜的是如今我已经养成了很好的编程习惯,这些习惯能帮我避免再次…
Android 约束布局(ConstraintLayout)1.1.0 版详解
在上一篇文章中,我们对 ConstraintLayout 1.0.2 版进行了详细的了解。而当时说好的 1.1.0 版本的文章却直到现在才出来,相隔了好久。其实关于 1.1.0 beta 版的文章早已写完,但却一直没有发布,这是因为当时担心后面的稳定版会和现有的冲突(事实上的确…
如何设计一个优雅健壮的Android WebView?(上)
Android应用层的开发有几大模块,其中WebView是最重要的模块之一。网上能够搜索到的WebView资料可谓寥寥,Github上的开源项目也不是很多,更别提有一个现成封装好的WebView容器直接用于生产环境了。本文仅当记录在使用WebView实现业务需求时所踩下的一些坑…
RecyclerView 里的自定义 LayoutManager 的一种设计与实现
很久很久以前,我分享过一篇文章,介绍了团队推出的一种异构的自定义 LayoutManger 的实现,它是基于 LinearLayoutManager 扩展实现的,这个项目的名字叫 vlayout,也许你以前听说过,或者在 github 上看到过,虽然还存在不少 bug 和不足,…
Android 约束布局(ConstraintLayout)详解
ConstraintLayout 是一个 ViewGroup,它的出现是为了解决复杂布局时,布局嵌套(布局内的布局)过多的问题(嵌套布局会增加绘制界面所需的时间)。
下一页
个人成就
文章被点赞
2,600
文章被阅读
94,596
掘力值
5,112
关注了
25
关注者
1,878
收藏集
1
关注标签
35
加入于
2016-06-21