
Android
张磊BARON
微信公众号:BaronTalk
展开
-
安居客 Android App 走向平台化
安居客 Android App 距离上次的模块化/组件化重构已经两年多了,重构之后很好的支撑了两年多以来的业务发展。但这个世界总是在向前走的,没有任何一种架构能够一劳永逸的解决所有问题,外部环境的不断变化相应的也要求项目架构做出改变,以此来应对环境变化所带来的挑战。本文分享的就是我们安居客 App 团队这次向平台化转型的背景、转型过程中所面临的问题、挑战、我们的解决方案以及我个人在这个过程中的...原创 2019-10-22 13:04:32 · 2998 阅读 · 1 评论 -
在Android项目中使用Java8
之前由于Android平台不支持Java8,如果我们想在Android项目中使用Lambda表达式、Stream API等Java8中的新特性就必须使用Retrolambda、Lightweight-Stream-API等第三方开源库来实现。现在Google爸爸终于让Android平台支持Java8了,这篇文章中便来和大家聊聊如何在Android项目中配置使用Java8。原创 2017-03-02 15:47:07 · 1537 阅读 · 0 评论 -
Android WebView那些坑之上传文件
解决问题之前我们先来说说`WebView`上传文件的逻辑:当我们在Web页面上点击选择文件的控件(`<input type="file">`)时,会回调`WebChromeClient`下的`openFileChooser()`(5.0及以上系统回调`onShowFileChooser()`)。这个时候我们在`openFileChooser`方法中通过`Intent`打开系统相册或者支持该`Intent`的第三方应用原创 2017-03-02 16:09:53 · 2745 阅读 · 1 评论 -
神兵利器Dagger2
Dagger-匕首,鼎鼎大名的Square公司旗下又一把利刃(没错!还有一把黄油刀,唤作ButterKnife);故此给本篇取名神兵利器Dagger2。Dagger2起源于Dagger,是一款基于Java注解来实现的完全在编译阶段完成依赖注入的开源库,主要用于模块间解耦、提高代码的健壮性和可维护性。Dagger2在编译阶段通过apt利用Java注解自动生成Java代码,然后结合手写的代码来自动帮我们原创 2017-03-02 15:51:49 · 8416 阅读 · 1 评论 -
安居客Android项目架构演进
本文已授权微信公众号 AndroidDeveloper 独家发布。入职安居客三年从工程师到 Team Leader,见证了 Android 团队一路走来的发展历程。因此有心将这些记录下来与大家分享,也算是对自己三年来一部分工作的总结。希望对大家有所帮助,更希望能得到大家宝贵的建议。三网合并三年前入职时安居客在业务上刚完成了三网合并(新房、二手房、好租和商业地产多个平台多个网站合成现在的 anjuk原创 2017-02-27 14:25:58 · 20723 阅读 · 30 评论 -
Android 模块化探索与实践
本文首发于《程序员》杂志五月刊,此版本有部分纠错与调整一、前言万维网发明人 Tim Berners-Lee 谈到设计原理时说过:“简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。” 由此可见模块化之于软件工程领域的重要性。从 2016 年开始,模块化在 Android 社区越来越多的被提及。随着移动平台的不断发展,移动平台上的软件慢慢走向复杂化,体积也变得臃肿庞大;为了降低大型软件复原创 2017-05-06 00:00:44 · 1515 阅读 · 0 评论 -
写给 Android 应用工程师的 Binder 原理剖析
刚刚开通了微信公众号:BaronTalk,之前专栏上的文章也陆续完成了搬迁。后续会持续保质保量的输出,关注一下吧!!! :-)一. 前言这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字准确的表达出 Binder 的设计精髓。直到今天提笔写作时还依旧战战兢兢。Bin...原创 2018-04-10 23:03:21 · 328 阅读 · 0 评论 -
Android 性能监控系列一(原理篇)
一. 前言性能问题是导致 App 用户流失的罪魁祸首之一,如果用户在使用我们 App 的时候遇到诸如页面卡顿、响应速度慢、发热严重、流量电量消耗大等问题的时候,很可能就会卸载掉我们的 App。而往往获取用户的成本是高昂的,因此因为性能问题导致用户流失的情况是我们要极力避免的,做不好这一点是我们开发人员的失职。去年我们团队完成了整个项目架构方面的重构(有兴趣的同学可以参考我之前的文章安居...原创 2018-06-05 15:26:28 · 1438 阅读 · 0 评论