项目第三方库的整理
1.Leaks 内存泄漏检测工具
实用性:★★★★★
安全性:★★★★★
难 度:★★
推 荐:★★★★★
来 源:Square
简 述:A memory leak detection library for Android and Java.
荐 语:移动开发中遇到OOM并不新鲜,难就难在不易发现。但凡在开发中稍有疏忽就会导致问题的发生。虽说根源在开发人员的素养和技术认知上,但预防手段还是要有的。
2. Gridpagersnaphelper RecyclerView封装版
实用性:★★★★
安全性:★★★
难 度:★
推 荐:★★★
来 源:Hanhailong(58同城)
简 述:A powerful tools to impl grid paging layout by RecyclerView,support horizontal and vertical page.
荐 语:RecyclerView 是Android中ListView、GridView的最好替代品。适合用于为大型数据集提供有限的窗口。运用非常灵活。但是仅支持Android5.0以上的系统。但是从Google没有把它标记为@Deprecated就可以看出,这个东西并不是必须的。只是方便了我们开发人员。本插件只是在此基础上进行了简单的封装。
3. pager-bottom-tab-strip 底部导航栏的封装
实用性:★★★
安全性:★★★
难 度:★
推 荐:★★★
来 源:majiajie(个人)
简 述:A bottom navigation bar for Android .
荐 语:一个通用导航栏的封装,免去了开发者去重复造轮子。可塑性还是挺高的。
4. 网络请求库
实用性:★★★★★
安全性:★★★★★
难 度:★★★
推 荐:★★★★★
来 源:square、google
简 述:Retrofit2、gson、okhttp3
荐 语:这个没啥好说的,比xutils轻量,目前个人认为比较好用的网络框架。
5.RxJava
实用性:★★★★★
安全性:★★★★★
难 度:★★★
推 荐:★★★★★
来 源:http://reactivex.io/
简 述:一个用于使用Java VM的可观察序列组合异步和基于事件的程序库
荐 语:简洁是Rxjava的第一大优点。另外这个也是响应式编程的典范之作。还有一个比较重要的就是背压。用好Rxjava对于移动端开发者真的是帮助很大。
6.Glide图片加载库
实用性:★★★★★
安全性:★★★★
难 度:★
推 荐:★★★★★
来 源:Sam Judd https://github.com/bumptech/glide
简 述:Glide是一个快速高效的Android图片加载库
荐 语:高性能、可扩展、自动资源池技术。选择Glide最主要的一个原因就是glide可以让图片列表的滚动尽可能的快,尽可能的顺畅,除此之外还几乎满足了你对远程图片的拉取/缩放/显示的一切要求。我们做移动端开发无非就是为了“快”、“顺”,不用glide简直对不起自己。
7.Android下拉刷新框架-SmartRefreshLayout
实用性:★★★★
安全性:★★
难 度:★
推 荐:★★★
来 源:scwang90 https://github.com/scwang90/SmartRefreshLayout
简 述:一个个人封装的下拉刷新框架
荐 语:支持自动刷新、自动加载、各种动画效果、嵌套图层、自定义header/footer等等,移动端的这些功能还是挺多的,所以直接使用这个也是很方便的。但是这个框架属于个人项目,直接用在我们的项目中不是很合适,需要时间的考验。
8.BaseRecyclerViewAdapterHelper RecyclerView辅助框架
实用性:★★★★★
安全性:★★★
难 度:★★
推 荐:★★★★★
来 源:BRVAH https://github.com/CymChad/BaseRecyclerViewAdapterHelper
简 述:一个强大的RecyclerAdapter框架,结合RecyclerView使用简直就是享受。
荐 语:节约了开发者大量的时间,条目清晰,文档健全。
*9.EasySwipeMenuLayout Item滑动菜单
实用性:★★
安全性:★★
难 度:★
推 荐:★★
来 源:个人 https://github.com/anzaizai/EasySwipeMenuLayout
简 述:双向Item滑动菜单
荐 语:只是一个实现了双向滑动的项目,界面也不是很优美,代码也不是很优雅,同类产品中竞价很低。
*10.Material Dialogs 万能Dialog
实用性:★★★★
安全性:★★★
难 度:★
推 荐:★★
来 源:个人 https://github.com/afollestad/material-dialogs
简 述:A beautiful and fluid dialogs API for Kotlin & Android.
荐 语:提供了各种各样的dialog样式,单选、多选、文本输入、文件选择、颜色自定义等等,几乎涵盖了工作中正常的dialog需求(奇葩设计除外),虽然好用但是本人并不推荐,因为每个设计师都有自己的一套设计风格。
11.Material Calendar View 符合Material设计的日历
实用性:★★
安全性:★★
难 度:★★
推 荐:★★
来 源:Prolific Interactive https://github.com/prolificinteractive/material-calendarview
简 述:A Material design back port of Android’s CalendarView
荐 语:如果只是大众需求,用这个库确实省事省力,但是一般涉及到日历的需求大都属于高度订制格式,这个封装库就不是那么的完美了。
12.banner 图片轮播框架
实用性:★★★
安全性:★★
难 度:★
推 荐:★★★
来 源:恶人
简 述:一个轮播控件封装
荐 语:一个简单的封装,用起来比较省时省力。
13.zxing 官方扫描库
实用性:★★★★★
安全性:★★★★★
难 度:★★
推 荐:★★★★
来 源:google
简 述:scanning library for Java, Android
荐 语:官方提供的一款扫描二维码、条形码…一些列库,只此一家别无分店。
14.flexbox可伸缩布局
实用性:★★★★★
安全性:★★★★★
难 度:★
推 荐:★★★★
来 源:google
简 述:一个可伸缩的外部布局
荐 语:官方提供,功能强大,可自定义推荐使用
14.BGAPhotoPicker-Android
实用性:★★★★★
安全性:★★★★
难 度:★★
推 荐:★★★★
来 源:个人 https://github.com/bingoogolapple/BGAPhotoPicker-Android
简 述:Android图片选择,预览,九宫格图片控件,拖曳排序九宫格图片控件
荐 语:将MeiqiaSDK-Android里的图库单独抽出来开源,将其中的GridView,ListView和RelativeLayout换成RecyclerView和工具栏,方便在以后的项目中直接依赖使用、类似需求使用这个库省事省力。
*15.AndroidViewAnimations Android视图动画库
实用性:★★★
安全性:★★
难 度:★
推 荐:★
来 源:个人 https://github.com/bingoogolapple/BGAPhotoPicker-Android
简 述:几种视图特效的库
荐 语:比上不足比下有余,相同产品有更好的,而且可扩展性很差。
16.高德地图
实用性:★★★★★
安全性:★★★★★
难 度:★★
推 荐:★★★★★
来 源:高德
简 述:国内地图供应商
荐 语:国内做的好的基本上就高德和百度可以提一下,两者各有优劣,高德更注重地图功能,而百度更注重横向发展。所以在不同的需求下选择适合自己的地图。国外项目还是建议使用google map 因为据经验所知,不管是百度还是高德到国外都会导致定位不准。
**17.极光推送
实用性:★★★★★
安全性:★★
难 度:★★
推 荐:★★★★
来 源:深圳市和讯华谷信息技术有限公司
简 述:移动端推送服务商
荐 语:根据自己的需求选择吧
附对比图:
平台 | 个推 | 百度云推送 | 极光推送 | 友盟推送 |
---|---|---|---|---|
稳定性和到达率 | 单台服务器并发支持200-400万,推送下发速率可达20万/秒 | 百度强大的服务器集群,吞吐能力强 | 服务端先进技术架构,高并发可扩展性的云服务 | 消息推送所有人时有延迟,不支持富媒体推送 |
电量和流量 | 多个APP合并一条长连接,共享链路。SDK特意针对手机优化,空载耗电每日15-50毫安,空载流量0.8-1.2M/月 | 单通道技术,多应用共享一个推送通道。 | 客户端 SDK 采用自定义的协议保持长连接,电量、流量消耗都很少 | 多应用共享一个长连接、智能心跳等优化方案。 |
安全性 | 数据加密 | 安全隔离技术 | 一般加密 | 一般加密 |
消息推送 | 推送通知推送消息推送富媒体没有LBS推送 | 推送通知推送消息推送富媒体基于地理位置的推送(或“LBS推送”) | 推送通知推送消息推送富媒体没有LBS推送 | 推送通知推送消息没有富媒体没有LBS推送 |
后台数据统计 | 数据报表支撑,智能化分析推送 | 提供推送信息和用户行为的统计 | “推送报表”与“用户统计报表”呈现推送的效果和应用发展趋势。 | 提供推送信息和用户行为的统计 |
SDK接入难度/成本 | 中文文档,技术支持 | 有中文文档,技术支持 | 中文文档,技术支持 | 中文文档,技术支持 |
收费情况 | 部分功能收费 | 免费 | 部分功能收费 | 免费 |
服务器端支持 | 支持Java,PHP,C#,Python,Node.js服务端 | 支持Java,PHP,C#,Python,Node.js服务端 | 支持Java,PHP,C#,Python,Node.js,Ruby服务端 | 支持Java,PHP,Python 服务端 |
消息推送策略 | 广播推送标签推送别名推送用户分组 | 广播推送标签推送别名推送用户分组地理区域划分推送。 | 广播推送标签推送别名推送用户分组 | 广播推送标签推送别名推送用户分组地理区域划分推送。 |
案例 | 新浪微博,墨迹天气,唱吧,PPTV,美图秀秀等 | 糗事百科,Gif快手 | 珍爱网,超级课程表,美咖相机 | 暴风影音,南方周末,别踩白块 |
额外功能 | app增量更新 | 百度账户系统登录 |
*18.Jsoup
实用性:★★
安全性:★★★★★
难 度:★
推 荐:★
来 源:Jonsthan
简 述:一款处理HTML的Java库
荐 语:提供了非常方便的API去处理HTML,用于提取和操作数据。但是在Android项目中如果只是个例的话完全没有必要去引入该库。总之看情况吧,如果是混合开发这个库还是很重要的。
19.加密算法 curve25519-Android库
实用性:★★★
安全性:★★★★★
难 度:★★★
推 荐:★★★★
来 源:signalapp
简 述:一种在Android上被广泛使用的加密方法
荐 语:适合用于公共领域的安全软件,椭圆曲线迪菲-赫尔曼(ECDH)密钥交换方法,可用作提供128 bit的安全金钥。
20.微信分享/登录,qq分享/登录,新浪分享
实用性:★★★★★
安全性:★★★★★
难 度:★★★
推 荐:★★★★★
来 源:腾讯,新浪
简 述:
荐 语:没有选择。
21.tinypinyin 汉字转拼音库
实用性:★★★★
安全性:★★★★
难 度:★
推 荐:★★★★
来 源:promeg https://github.com/promeG/TinyPinyin
简 述:一个适用于Java和Android的快速,低内存的汉字转拼音库。
荐 语:高效、快速、简单、易用。