本文按照 Glide
常用的如下用法来分析源码:
1 | Glide.with(context).load("url").thumbnail().into(imageView); |
网络上关于如何针对图片进行有效合理的压缩其实已经有很多成熟的解决方案了,我这里要说的是针对微信 32KB
限制的压缩方案,这也是在 SocialSdkLibrary 中采用的,经过了很多细节的测试,当然这可能不是最好的方法,欢迎一起讨论。
本文主要介绍 Android 轻量级路由方案 的实现过程;
什么是路由协议?路由协议就是约定一套路径解析的规则,然后大家都遵循这个规则来进行页面跳转,从而达到动态和解耦的目的。
路由的存在有什么意义?
多模块,组件化,插件化开发时,使用路由进行解耦,组件之间遵循约定好的路由协议进行跳转,不再需要互相依赖。
混合开发时,Web
端使用约定好的路由路径,可以方便跳转 app
内各个页面并进行参数传递。
先打个广告,在维护的一个三方登录分享的项目(求 🌟),以更简单、更轻量、更加面向业务需求为设计目标,提供 微博、微信、QQ、Tim、QQ 轻聊版、钉钉 的登陆分享功能支持;
刚开始的时候,所有代码实现都写在一个 module
里面,虽然按照平台在代码结构上进行分离了,但是如果遇到只需要其中几个平台的情况使用起来非常不灵活,所以就萌生了写一个 gradle
插件来统一管理几个平台的实现和依赖的想法。
最后开发完成以后发现和 ShareSdk
有点像(就接入方式而言),可能这是公认的一个比较好的实现方式,所以类似需要动态的接入不同的依赖、并且配置项比较繁多的业务场景,是非常适合用插件来管理和配置的,本文主要记录使用 gradle
插件该项目的重构过程。
项目地址 : GitHub - SocialSdkLibrary
博客地址 :快速接入微信微博QQ钉钉原生登录分享
最新版本(0.0.7) Easier 、Lighter 、 More Business-Oriented
以更简单、更轻量、更加面向业务需求为设计目标,提供 微博、微信、QQ、Tim、QQ 轻聊版、钉钉 的登陆分享功能支持;
项目地址 : GitHub - SocialSdkLibrary
博客地址 :快速接入微信微博QQ钉钉原生登录分享
🎉 2018.12.27 完成 gradle
插件,拆分平台,自动化依赖,一个新台阶 🐶
🎉 2018.12.21 已经225颗 🌟,着手准备拆分成不同平台库,方便灵活接入 ⛽️
🎉 2018.9.26 项目获得了第202颗 🌟,感谢新同事补星 2 个 😄
🎉 2018.6.7 项目获得了第100颗 🌟,最后一颗是我问同事要的 🤦
🎉 2018.5.12 修复内存问题、功能扩展 稳定版本 1.1.0 ❤️
🎉 2018.2.12 支持钉钉分享 🆕
🎉 2017.12.12 对代码进行简单重构并测试 稳定版本 1.0.0 ❤️
ProgressBar
是比较常见的用来显示进度的的控件,支持圆形和水平进度显示,通过扩展它可以实现大多数情况下的需求,不需要自己自定义控件,特此记录一下,本文主要介绍: