文章列表

Robust 2.0:支持Android R8的升级版热修复框架

常强
2016年,我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年,Google 推出了新的代码优化混淆工具R8,Android 热修复补丁制作依赖二次构建包和线上包对比,需要对Proguard切换到R8提前进行适配和改造,本文分享 Robust 在适配 R8 以及优化改进中的一些思路和经验,希望能对大家有所帮助或者启发。 阅读全文

Android对so体积优化的探索与实践

洪凯 常强
减小应用安装包的体积,对提升用户体验和下载转化率都大有益处。本文将结合美团平台的实践经验,分享 so 体积优化的思路、收益,以及工程实践中的注意事项。本文将先从 so 文件格式讲起,结合文件格式分析哪些内容可以优化,然后再具体讲解每项优化手段以及注意事项,最后介绍相关的工程实践经验。希望能对从事包体积优化的同学有所帮助或启发。 阅读全文

外卖客户端容器化架构的演进

郭赛 同同 徐宏
好的架构要不断演变,进而去适应业务的发展。美团在移动端上的架构,也经历了组件化、平台化、RN混合化,到现在开始向容器化变迁。容器化架构充分地利用了现在的跨端技术,将动态化的能力最大化地赋予了业务。作为美团最为重要的业务之一,美团外卖移动端的架构演进是怎样的呢?本文将为你揭开背后的思考、技术细节以及实践。 阅读全文

Android静态代码扫描效率优化与实践

肖鸿耀
时光荏苒,美团十岁了,美团技术团队也走过了十个春秋。让我们共同回忆一下那些人和那些事。 阅读全文

Android 兼容 Java 8 语法特性的原理分析

元合 朝旭
本文主要阐述了Lambda表达式及其底层实现(invokedynamic指令)的原理、Android第三方插件RetroLambda对其的支持过程、Android官方最新的dex编译器D8对其的编译支持。通过对这三个方面的跟踪分析,以Java 8的代表性特性——Lambda表达式为着眼点,将Android如何兼容Java8的过程分享给大家。 阅读全文

Litho在美团动态化方案MTFlexbox中的实践

少宽、腾飞、叶梓
MTFlexbox适用于重展示、轻交互的业务场景,与现有HTML、React Native、Weex等跨平台方案相比,MTFlexbox具备着性能高、渲染速度快、兼容性高、原生功能支持度高等优势。 阅读全文

美团外卖商家端视频探索之旅

金辉、李琼
美团外卖至今已迅猛发展了六年,随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸引用户,增加流量,进而提高下单转化率和下单量。 阅读全文

MTFlexbox自动化埋点探索

叶梓
传统移动端”静态“的开发方式存在一系列问题,已经不能满足高速发展的业务需求,美团平台自研了一套跨平台动态化方案——MTFlexbox。 阅读全文

基本功 | Litho的使用及原理剖析

少宽 张颖
Litho是Facebook推出的一套高效构建Android UI的声明式框架,主要目的是提升RecyclerView复杂列表的滑动性能和降低内存占用。 阅读全文

Android组件化方案及组件消息总线modular-event实战

海亮
组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。美团内部各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文介绍了美团行业收银研发组Android团队的组件化实践,以及业界首创强约束组件消息总线modular-event的原理和使用。 阅读全文

Logan:美团开源移动端基础日志库

姜腾 立成
Logan基础日志库主要解决了日志模块普遍存在的效率、安全性、丢失日志等问题。 阅读全文

beeshell —— 开源的 React Native 组件库

小龙
基于 React Native 的企业级移动应用的基础组件库 beeshell 的开源推广文章,从架构设计、实现、质量保证、规划几个方面对 beeshell 进行全面介绍。 阅读全文

美团外卖Android平台化的复用实践

金光 王芳 晓飞
外卖业务需要在外卖App和美团App上上线,这就让外卖业务产生了复用的问题。本文基于美团外卖Android开发团队长期的平台化复用开发经验,提供一种代码复用的实践方案。 阅读全文

WMRouter:美团外卖Android开源路由框架

子健 渊博 云驰
WMRouter是一款Android路由框架,基于组件化的设计思路,功能灵活,使用简单。本文先简单介绍WMRouter的功能和适用场景,然后详细介绍WMRouter的发展背景和过程。 阅读全文

Flutter原理与实践

少杰
本文介绍了全新移动UI框架Flutter的架构、特色功能(Hot Reload、插件等)和Dart语言,并分享了美团外卖Flutter版全品类页面的实践。 阅读全文

Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

海亮
对于Android App的开发者来说,EventBus、RxBus一定是最为常用的消息总线框架,用于在不同模块之间订阅/发送消息。本文提供了一个新的消息总线框架——LiveDataBus,利用LiveDataBus,不仅可以实现消息总线功能,而且对于订阅者,他们不需要关心何时取消订阅,极大减少了因为忘记取消订阅造成的内存泄漏风险。 阅读全文

美团点评云真机平台实践

东初 李帅
本文主要讲述美团点评技术团队自研云真机平台过程中遇到的困难和解决方案。 阅读全文

Android自动化页面测速在美团的实践

文杰
本文将介绍一个用于测量App页面加载速度和冷启动速度的SDK,以及将其自动化实现的插件,可以对整个项目所有页面的加载速度进行实时监控,并且没有业务代码的侵入。 阅读全文

MCI:移动持续集成在大众点评的实践

智聪 邢轶
本文从美团点评App的业务复杂度出发,介绍构建稳定高效自动化的移动持续集成系统的最佳实践,在此基础上通过自研的静态准入方案进一步提升移动项目质量,通过全流程的托管方案提升移动开发生产力。 阅读全文

Kotlin代码检查在美团的探索与实践

周佳
Kotlin有着诸多的特性,比如空指针安全、方法扩展、支持函数式编程、丰富的语法糖等。在实际的使用过程中,我们发现看似写法简单的Kotlin代码,可能隐藏着不容忽视的额外开销。本文剖析了Kotlin的隐藏开销,并就如何避免开销进行了探索和实践。 阅读全文