首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
架构
订阅
人在九楼
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
探索Android开源框架 - 10. 插件化原理
什么是插件化 插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件 将app中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现app功能的动态扩展; 插件
参考微信模块化通信具体实现
初期Android项目构建方式基本为分层结构设计,由于初期项目较小这种架构简单,清晰因此沿用至今。而当项目业务逐渐扩大时发现简单的分层结构已经无法满足现有项目架构,尤其是多人开发时各个业务之间沟通成本成指数上升。 应运而生的模块化思想诞生,初期大家只是将项目的业务进行简单拆分成…
Android模块化设计方案之接口API化
在对项目进行模块化的时候,为了避免相同层级的模块之间交叉依赖,把模块之间需要相互调用的方法抽象成接口下沉到公共模块是普遍的解决方案,但是这样会导致公共模块越来越臃肿,承担了很多不属于它的职能,而且出现问题的时候也不方便进行定位。 并在impl里面对该接口进行了实现,现在可以看到…
关于Android架构,你是否还在生搬硬套?
关于Android架构,可能在很多人心里一直都是虚无缥缈的存在,似懂非懂、为了用而用、处处生搬硬套,这种情况使用的意义真的很有限。本人有多个项目重构的经验,恰好对设计领域较为感兴趣,今天我将毫无保留的将自己对架构、设计的理解分享给大家。 本文不会具体去讲什么是MVC、MVP、M…
MVP 与 MVVM 优缺点总结
主要阐述 Android App 架构之 MVP 与 MVVM 的优点与痛点,不介绍具体的实现方式。因为 MVP 架构简单,无需介绍。而 MVVM 架构相对复杂,核心是 LifecycleOwner、LifecycleObserver、LifecycleRegistry 组件,…
基于MVVM结构和Kotlin,使用Android Jetpack组件的gank.io的客户端
于是决定写一个App把DataBinding、ViewModel、LiveData和Room都用上。 这个项目除了尝试Android Jetpack,也研究了一下多Module组件化的实践,顺带巩固一下Kotlin、自定义viewGroup等一些知识。
【Medium 万赞好文】ViewModel 和 LiveData:模式 + 反模式
理想情况下,ViewModel 应该对 Android 世界一无所知。这提升了可测试性,内存泄漏安全性,并且便于模块化。 通常的做法是保证你的 ViewModel 中没有导入任何 android.*,android.arch.* (译者注:现在应该再加一个 androidx.l…
【AAC 系列三】深入理解架构组件:LiveData
0. 前言 在之前我们深入研究了 Lifecycle 的实现原理,并在文末提到了LiveData 以及 ViewModel,这次我们来讲讲 LiveData。 简单讲 LiveData 是一个能够感知生命周期、可观察的数据持有类 ,它被设计成 ViewModel 的一个成员变量…
Android客户端WebView优化之路
H5页面承载了文章、活动、广告等核心业务场景,所以经过了长期的迭代之后,懂球帝客户端H5相关的业务也非常复杂,这里面包含了分享、支付、用户评论、点赞等交互,各种业务交织杂糅在一起,导致这一块的代码难以维护。笔者对业务进行了全面的梳理,在重构这块业务的过程中也收获了很多,同时考虑…
LeakCanary2的免写 初始化代码 原理
最近LeakCanary做了升级,发布了2.0版本,带了了很多性能上的优化,不过一个很吸引我的点在于,他居然不像以前一样,需要手动初始化了。 接着在我们的application里面加入初始化的逻辑。 在经过对源码的解读后,发现了一个骚操作,感觉传开后,以后的sdk库都可能这么做…