首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
研究
订阅
文海做个人
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
面试官:为什么 Activity.finish() 之后 10s 才 onDestroy ?
交流群里碰到一个很有意思的问题,调用 Activity.finish() 之后 10s 才回调 onDestroy() 。 由此产生了一些不可控问题,例如在 onDestroy() 中释放资源不及时,赋值状态异常等等。我之前倒没有遇到过类似的问题,但是 AOSP 总是我们最好的…
Jetpack新成员,一篇文章带你玩转Hilt和依赖注入
各位小伙伴们大家早上好。 终于要写这样一篇我自己都比较怕的文章了。 虽然今年的 Google I/O 大会由于疫情的原因没能开成,但是 Google 每年要发布的各种新技术可一样都没少。 随着 Android 11 系统的发布,Jetpack 家族又迎来了不少新成员,包括 Hi…
Gradle 爬坑指南 -- 导论
我写文章都是喜欢以小白为出发点的,希望对那些一点都不了解 Gralde 的朋友能所有帮助,也希望能大大缩短大家学习 Gralde 的时间成本。Gradle 这东西对于一般人真的是难,非常难理解。相关的技术文章都是18年后才开始涌现出来的,之前的文章(尤其是15年那会AS出现时的…
Android进阶基础系列:Window和WindowManager ,全面理解!
Window是View的管理者,当我们说创建Window时,一方面指实例化这个管理者,一方面指 用WindowManager.addView()添加view,以view的形式来呈现Window这个概念。 实际就只有一句windowManager.addView(view, la…
面试官:今日头条启动很快,你觉得可能是做了哪些优化?
网上关于启动优化的文章多不胜数,内容千篇一律,大都是列举一些耗时操作,采用异步加载、懒加载等。 而在面试过程中,关于启动优化的问题,如果只是很表面地回答耗时操作应该放在子线程,显然太过于普通,无法跟竞争者拉开差距。如何让面试官知道你的“内功深厚”,那肯定是要往原理层面去回答。 …
Activity启动流程(基于Android26)
Activity 启动流程,基于比较新的 Android 26 进行源码分析,欢迎大家一起讨论
我画了近百张图来理解红黑树
之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,希望能对大家有所帮助,对自己也算是一个知识点的总结。 这篇文章算是我写博客写公众号以来画图最多的一篇文章了,没有之一,我希望尽可能多地用图片来形象地描述红黑树的各种操作的前后变换原理,帮助大家来理解红黑树的工作原理,下…
不懂什么是锁?看看这篇你就明白了
下面我们依次对各个锁的分类进行详细阐述。 悲观锁是一种悲观思想,它总认为最坏的情况可能会出现,它认为数据很可能会被其他人所修改,所以悲观锁在持有数据的时候总会把资源 或者 数据 锁住,这样其他线程想要请求这个资源的时候就会阻塞,直到等到悲观锁把资源释放为止。传统的关系型数据库里…
一文彻底搞清 Gradle 依赖
之前对Android Gradle构建的依赖一直傻傻分不清,这段时间正好接入集团的一个二方库,踩了很多坑,也顺带把Gradle依赖这块搞清楚了,主要整理了下Gradle依赖的类型、依赖配置、如何查看依赖、依赖冲突如何解决。 dependencies DSL标签是标准Gradle…
ProGuard 在 Android 上的使用姿势
ProGuard 是一个压缩、优化、混淆代码的工具。尽管有很多其他工具供开发者们使用,但是 ProGuard 作为 Android Gradle 构建过程的一部分,已经打包在 SDK 中。 当我们构建应用时,使用 ProGuard 有很多好处。有的开发者更关心混淆这块功能,对我…