开源框架
文章平均质量分 85
开源框架
斗锋在干嘛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android开发中MVC、MVP、MVVM架构深度解析及使用场景
现代Android开发推荐以MVVM为基础,结合Clean Architecture原则,使用官方架构组件构建健壮的应用架构。Activity承担过多职责(视图渲染+业务逻辑+用户交互)引入ViewModel和Data Binding。:布局文件和Activity/Fragment。:提供UI数据流,不持有View引用。:仅处理UI展示,实现View接口。:处理业务逻辑,持有View弱引用。Presenter处理复杂业务逻辑。:数据层,负责数据获取和业务逻辑。ViewModel纯逻辑可测试。原创 2025-04-25 20:36:51 · 1240 阅读 · 0 评论 -
LiveData生命周期监听机制解析
/ 扩展LiveData实现特殊生命周期控制@Override// 当有活跃观察者时触发@Override// 当无活跃观察者时触发。原创 2016-02-02 18:38:18 · 924 阅读 · 0 评论 -
RxJava线程切换原理与版本差异解析
理解RxJava线程切换机制和版本差异,有助于在面试中展示对响应式编程的深入理解,同时在实际开发中做出更合理的技术选型和性能优化。新项目直接使用RxJava3(基于RxJava2改进)事件从下游向上游传递订阅关系,从上游向下游传递数据。长时间运行的操作持有Activity引用。老项目逐步迁移到RxJava2/3。:70%的操作符被重新实现优化。创建主线程Handler。每个操作符都会创建新的。原创 2016-02-02 18:19:44 · 429 阅读 · 0 评论 -
Android网络请求实践与OkHttp框架解析
OkHttp通过其精心的设计,解决了Android网络编程中的诸多痛点问题,成为现代Android开发中网络层的基石。在实际项目中,合理利用其特性可以显著提升应用的网络性能和稳定性。统一处理请求/响应(如添加公共header)节省用户流量(项目实测减少30%+重复请求)提升高频请求场景性能(实测提升40%+)上传中断恢复(通过断点续传实现):需要手动处理连接、流转换等。:TCP连接无法有效复用。自动遵循HTTP缓存规范。:必须自行处理异步请求。:需要手动实现缓存逻辑。减少TCP三次握手开销。原创 2016-02-02 18:12:04 · 428 阅读 · 0 评论 -
OkHttp框架原理解析
Override// 实现智能DNS解析});原创 2016-02-02 18:08:48 · 381 阅读 · 0 评论 -
Glide内存溢出问题解析
"必须使用Activity/Fragment作为Context,这样当页面销毁时,Glide通过其添加的隐藏Fragment自动触发。"在APP的商品详情页曾遇到OOM问题,分析发现是同时加载多张2000x2000的商品主图导致。:RecyclerView/CustomView未实现正确清理逻辑"会同时缓存原始图和转换后的图,当处理大图时内存占用会翻倍。:禁用BitmapPool或配置不当导致无法复用内存。优化后内存占用下降70%,OOM问题完全解决。:同时缓存原始图和转换图导致内存占用翻倍。原创 2016-02-02 18:06:48 · 679 阅读 · 0 评论 -
Glide生命周期机制深度解析
解决方案// 手动管理自定义View的生命周期@Override= null) {@Override= null) {// 实现Lifecycle接口进行自定义管理// 使用自定义生命周期.load(url)原创 2016-02-02 18:03:34 · 1476 阅读 · 0 评论 -
Glide缓存机制深度解析
Glide采用了三级缓存设计,构成了一个高效的图片加载缓存体系:活动资源缓存 (Active Resources) - 内存中的第一级缓存内存缓存 (Memory Cache) - 内存中的第二级缓存磁盘缓存 (Disk Cache) - 持久化存储缓存 使用弱引用存储正在使用的资源采用结构生命周期与Activity/Fragment绑定 快速响应正在显示的图片请求防止重复加载同一资源当内存不足时会被优先回收工作流程 检查活动资源缓存 → 2. 检查内存缓存 → 3. 检查磁盘缓原创 2016-02-02 17:55:54 · 1334 阅读 · 0 评论 -
APT技术深度解析
APT(Annotation Processing Tool)是Java提供的编译时注解处理工具,它允许开发者在编译阶段通过注解生成代码,而不是在运行时通过反射处理。这种技术被广泛应用于Android开发中的各种框架(如ButterKnife、Dagger、ARouter等)。定义注解: 实现Processor: 生成的代码示例: 注解解析阶段: 多轮处理机制:第一轮:处理原始源代码中的注解第二轮:处理生成的源代码中的注解直到没有新文件生成为止元素树处理: 代码生成原创 2015-12-26 20:42:40 · 2954 阅读 · 1 评论 -
ARouter原理深度解析
"ARouter主要通过编译时处理注解生成路由表,运行时通过中间层协调跳转来实现组件解耦。它的分组管理和拦截器机制特别实用,在我们项目中很好地解决了模块间服务调用和统一登录检查的问题。ARouter是阿里巴巴开源的一款Android路由框架,主要用于实现组件化架构中的页面跳转和服务调用。它的核心设计目标是解决模块间直接依赖的问题,实现彻底的解耦。:生成路由映射表,建立路径与目标类的关联。:路由调度核心类,负责路由查找和分发。:将分散的路由信息合并为全局路由表。:路由仓库,存储所有路由表和缓存。原创 2015-12-26 20:38:53 · 8824 阅读 · 1 评论 -
Android组件化在项目中的意义解析
在我上一个项目中,我们采用组件化解决了代码耦合严重、编译时间长的问题。通过ARouter实现组件通信,使用Gradle动态配置使组件可独立运行。组件化后,我们的编译时间从5分钟降到30秒,不同团队可以并行开发,效率提升显著。组件化是指将一个大型Android项目拆分为多个独立、可复用的功能模块(组件),每个组件可以独立开发、测试和运行。:不同团队可同时开发不同组件,提高开发效率。:只编译修改的组件,大幅减少全量编译时间。:每个组件可单独测试,提高测试效率。:如ARouter,实现组件间跳转。原创 2015-12-06 21:05:34 · 1003 阅读 · 0 评论 -
OkHttp、Retrofit、RxJava,RxAndroid 、 Dagger、Dagger2、ARouter,glide的相关问题
例如:“我在项目中用 Retrofit + RxJava 处理网络请求,通过 Dagger 2 注入 Retrofit 实例,用 Glide 加载图片。不要只讲用法,说明设计思想(如 Retrofit 的动态代理、Glide 的缓存策略)。核心功能:连接池复用、透明 GZIP 压缩、缓存、拦截器链(Interceptor)。:可自定义请求/响应处理(如日志、重试、添加公共参数)。,支持内存/磁盘缓存、生命周期管理、GIF 加载。:活动资源(内存)、内存缓存(LRU)、磁盘缓存。原创 2025-04-10 09:33:19 · 832 阅读 · 0 评论
分享