作家
登录

安卓开发常用工具和第三方库汇总

作者: 来源: 2017-09-27 12:54:01 阅读 我要评论

数据库 - 移动平台

还有很多其他登录选项:Twitter,LinkedIn,Google。我的心态是(特别是 Twitter,LinkedIn),固然他们很受迎接,但往往不值得的测验测验。你会看到不到 2% 的注册率,除非是一个异常好的场景。 LinkedIn 供给了异常具有挑衅性的 API( 这不是我本来的悼?船然则 PR 告诉我,我应当改变它 )。 Twitter,他们不供给很多信息,但你可以 转到此链接 , 并且说我须要电子邮件和根本信息,他们会给大年夜家授予权限。但总体来说,除非你的架构异常好,这些都邑增长你应用的复杂性,。

Google 情况比较复杂。在 Android 上,很多人都邑拥有 Google 帐户。如不雅他们没有 Google 帐户,是异常奇怪的。然则你可以大年夜 Google 登录中获得很多功能 - 你可以获取电子邮件提示和其他器械。此外,登录 UI 是十分丑恶的。还有点慢,所以你必须推敲加载模式的对话框。

联网

如不雅你应用本地库,那么竽暌剐两个大年夜名鼎鼎的看魏Retrofit,Volley。还有 native HTML URL Connect(平日不推荐)。对于 Retrofit 和 Volley 来说,你经常会看到些比较,你会看到 Volley 比 Retrofit 做的更多(例如图像下载和 neat )。这具有欺骗性。

Retrofit 是由 Square 建造的,他们有一个哲学,他们的库会尽可能少做工作。他们试图让库严格地解决具体的问题,解决这个问题时,强迫履行优胜的实践。Retrofit 可能是他们最好的例子。这段代码( 见幻灯片 )是我在一个应用法度榜样中应用 Retrofit 的示例,我必须为我的 API 调用创建一个异常干净的接口。

Volley 给你足够的绳索明日逝世本身。你可以应用 Volley,很轻易用错。Retrofit 更好地强化了最佳实践,我爱好如许的做法。

很多时刻你会听到 OkHttp:这是真正的幕后大年夜举晋升收集机能的功臣。它已经在 Android 4.4 的 native 琅绫擎了。

收集调试

推敲到收集调试,你有收集调用正在进行,你想懂得产生了些什么。

全球思虑

Stetho

Stetho 是一个很好的选择。它是 Facebook 开辟的。它为你的收集调用供给了 Chrome 开辟者对象视图。它还供给了很多其他的好器械:可以查看你的数据库,看看那边产生了什么;可以看到你的构造,如不雅你不知道屏幕上产生了什么。个中须要留意的是,你必须在每次运行时启动它,不然它会主动封闭。固然时光是精确的,但它会使你收集调用的时光更长。

HttpLoggingInterceptor

我小我偏向于另一个简单的 HttpLoggingInterceptor。你将拦截器添加到你的收集请求中,并将其打印在日记文件上。你也可以看到一些 JSON 文件。有一堆类似的器械都定名为 logging 拦截器。应用 Square 的标准 HTTP 日记记录可以让你更轻松地浏览,异常便利。

图片

作为在 Pinterest 工作的人,图片很重要。如不雅你正在做图片相干的应用,你可能欲望应用第三方库来处理图片缓存,图片下载和图片大年夜小调剂。

Picasso,Glide

图片处理库里最有名的两个库是 Picasso 和 Glide。他们有着异常类似的接口;对于大年夜多半标准用户来说接口基本相同。

Picasso 较小。最新版本大年夜 2,879 行缩小到 849 行。然则,Glide 偏向于供给你想要的每个功能:它可以加载 GIF,也可以显示视频袈浃览图像。

如不雅你正在加载图片,Picasso 比较合适。它更受迎接:它有更多的文档,更多的支撑。两个库都很好。如不雅你一向都有些奇怪的场景,你可以冒险应用 Glide。如不雅你的应用处景很标准,Picasso 是一个不错的选择。

提示

我已经提到我在 Pinterest 工作,并且图像对我的工作很重要。我必须扔出一堆关于图像的提示。

除此之外,这些库都不克不及解决你图像的内存问题。最简单的做法是禁用图像,然后计算出应用法度榜样中的图像消费了若干内存。不应用图像,计算出省下的内存消费。别的,释放没有显示图像的图像,并将图像的大年夜小调剂为你显示的尺寸也可以赞助节俭内存。 Cloudinary 是一个很酷的托管办事,你可以以特定的分辨率请求图像。他们尽力做到这点。然则,当你调剂请求的图像大年夜小时,你必须确保你没有经由过程请求类似的图像来破坏缓存(所以这里有个均衡)。

我是 bigHeap 的粉丝。我们的一个的应用法度榜样,应用了 bigHeap 后,内存崩溃降到本来的 1/4。 Google 不鼓励应用它,因为它封闭了在后台的其他应用法度榜样,是以应用法度榜样之间的切换并不是那么好。但在某些时刻,这不是你的问题。垃圾收受接收也须要更长时光,你可以应用它来樊篱内存问题(你不该该这么做)。一般来说,bigHeap 是好的。如不雅你去 Play Store,并且搜索 largeHeap,你可以下载一个很酷的应用法度榜样,它会显示你手机上启用了 bigHeap 的应用法度榜样。你会留意到如今几乎每小我都陷入潦攀困境,并且正在应用 bigHeap。

当你想到内存和图像时,这里有一个简单的公式。有些人会问,“这是个两千字节的 JPEG,为什愦我的实际应用的内存会这么大年夜呢?” 应用的内存是像素宽度乘以像素高度的四倍。这就是你期望的大年夜小。它们的标准格局是 ARGB_8888 - 它用四个字节存储色彩空间。如不雅你应用 RGB_565,你可以将其削减到两倍。然则色彩彼此会异常类似,你会看到更少的色彩空间,它也不克不及做 alpha,但它会削减一半的内存应用量。你可以推敲在低端设备或低版本 API 长进行此操作。这是节俭内存不足问题的好办法。

Fresco

人们都没有做最简单的工作,因为这些库没有如许做,这件简单的工作就是在列表中预取。每当你滚动列表时,你都邑看到图像在加载。如不雅你预取了下一?或两个图像,那么当你滚动时,将会削减帧损掉。这会给你带来更好的体验,不须要等待加载了。如不雅你预取的图像太多,资本就会竞争,也不好,但预取下一?或两个图像必定会带来更好的体验。

Facebook 宣布了一个神奇的看维解决了 API 21 之前的所有版本的内存不足问题。在 API 21 之前,Android 体系中出现了一个缺点,你可以在应用法度榜样内存之外应用其他的内存。然则会带来些奇怪的情况:你的法度榜样在旧设备膳绫腔有问题,但在新设备上会表示更糟。因为它加载的方法与其他库异常不合,所以它可以实现渐进式 JPEG 如许的图像,图像在图层中逐渐加载。然则,它们会更深刻地耦合在你的应用法度榜样中。借助 Glide 和 Picasso,你可以将其与你的应用隔离的很好。而不应用 imageViews,你必须应用它们的类型 Drawees,并且还会产生更多的孤岛代码。


  推荐阅读

  cnBeta推出三款新机器学习工具 帮助开发者打造AI应用

微软今天针对开辟者推出三款重要的新对象:Azure 机械进修实验办事、Azure 机械进修工作台以及 Azure 机械进修模型治理办事。此外,微软还针对那些想要借助 Visual Studio Code IDE、用 CNTK、TensorFlow、Theano、K>>>详细阅读


本文标题:安卓开发常用工具和第三方库汇总

地址:http://www.17bianji.com/lsqh/37607.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)