首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
进阶
订阅
zZZ
更多收藏集
微信扫码分享
微信
新浪微博
QQ
23篇文章 · 0订阅
【重构系列】重构速查小手册
,自己把《重构》中所有的手法全部整理成一篇文章,方便自己也方便他人快速查找,因为篇幅的问题,手法中未添加示例代码,如果你能坚持阅读完毕,相当于你重读了一遍该书精华。😄 创造一个新函数,根据这个函数的意图来对它命名。 将待提炼的代码从源函数复制到新建的目标函数中。 仔细检查提炼…
NDK | 说说 so 库从加载到卸载的全过程
在这篇文章里,我将带你建立对 so 库从加载进内存到卸载整个过程的理解。另外,文末的应试建议也不要错过哦,如果能帮上忙,请务必点赞加关注,这真的对我非常重要。
图解 | 一图摸清Android应用进程的启动
init进程fork出Zygote进程后,Zygote进程会创建一个服务端socket,等待AMS发起socket请求。 同时,由Zygote进程fork出的SystemServer进程会启动各项系统服务,其中就包含了AMS,AMS会启动Launcher桌面,此时就可以等待用户…
Android |《看完不忘系列》之Retrofit
嗨,我是哈利迪~《看完不忘系列》将以从树干到细枝的思路分析一些技术框架,本文将对开源项目Retrofit进行介绍。 Retrofit的底层网络实现基于okhttp,自身的类不是很多,最核心的点就是动态代理了。代理模式简单来说,就是为对象提供一个增强或控制其访问的代理。下面我们先…
一文全面了解Android单元测试
众所周知,一个好的项目需要不断地打造,而一些有效的测试则是加速这一过程的利器。本篇博文将带你了解并逐步深入Android单元测试。 单元测试就是针对类中的某一个方法进行验证是否正确的过程,单元就是指独立的粒子,在Android和Java中大都是指方法。 使用单元测试可以提高开发…
写给 Android 应用工程师的 Binder 原理剖析
一. 前言 这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字准确的表达出 Binder 的设计精髓。直到今天提笔写作时还依旧战战兢兢。 Binder 之复杂远远不是一…
Android 组件化最佳实践
在项目的开发过程中,随着开发人员的增多及功能的增加,如果提前没有使用合理的开发架构,那么代码会越来臃肿,功能间代码耦合也会越来越严重,这时候为了保证项目代码的质量,我们就必须进行重构。 比较简单的开发架构是按照功能模块进行拆分,也就是用 Android 开发中的 module …
深入理解Android 之 Activity启动流程(Android 10)
至于Launcher如何加载展示应用程序到界面这里先略过(与PMS相关),本文先关注Activity启动过程。当我们点击系统桌面的应用图标,直接响应的则是Launcher这个应用程序,会调用它的startActivitySafely方法 以上源码看到注释1,设置启动Activi…
花费2年,字数超一万最佳总结教你Android多进程,微信微博都在用
知其然,知其所以然。 对于进程的概念,来到这里的都是编程修仙之人,就不再啰嗦了,相信大家倒着、跳着、躺着、各种姿势都能背出来。 相信很多同学在实际开发中,基本都不会去给app划分进程,而且,在Android中使用多进程,还可能需要编写额外的进程通讯代码,还可能带来额外的Bug,…
我竟然不再抗拒 Java 的类加载机制了
很长一段时间里,我对 Java 的类加载机制都非常的抗拒,因为我觉得太难理解了。但为了成为一名优秀的 Java 工程师,我决定硬着头皮研究一下。 在聊 Java 类加载机制之前,需要先了解一下 Java 字节码,因为它和类加载机制息息相关。 计算机只认识 0 和 1,所以任何语…