作家
登录

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

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

履行机能测试有两种重要的办法。 Google 偏向于主意应用 Systrace 类似的办法来查看丢帧率,他们有一个代码库,可认为你供给几乎能直接工作的代码(但不是很有效)。这许可你进行主动化机能测试,以查看丢帧率是否变更。

NimbleDroid 有一个免费的试悠揭捉?项,你可以在个中上传 APK,它将主动测试冷启动,你也可以增长些应用法度榜样中的关键流程。他们供给一个函数产生的时光序列图和具体信息。它可以免费进行试用(例如上传你的 APK 并获得冷启动时光,看是否有明显问题)。如不雅你想应用它来进行回归测试,那么它是很贵的,但它会赞助你意识到,有人做了一个修改,我们的启动时光变慢了,或者我们的关键流程慢了。如不雅机能是一个高优先级的目标,那么应用它是很有效的。

JSON

人们在推敲机能时往往都邑想到 JSON。有很多的 JSON 库。我的第一个警告是良士们爱好纯粹经由过程机能来对待 JSON 库。这是一个缺点。我收到了我最大年夜的请求(150千字节,30,000行,巨大年夜的 JSON 文件)。我分别用 GSON 和 Jackson 解析了它们。它们相差大年夜约 20 毫秒,对于那个巨大年夜的文件来说,这并不猖狂。

我的第一个建议是:更多地存眷易于应用的器械,有很好的文档的库。你欲望获得支撑。你不消花几个礼拜闪开辟人员测验测验找出原因,就因为 stackoverflow 没有谜底。除非你对机能有超高的请求,GSON 和 Jackson 是应用最多的,最受迎接的,特别是在 Android 上,GSON 更受迎接。

Moshi 是 Square 采取的库。它跟 GSON 异常类似。我试图就若何应用好 GSON 给出了一些看法。你可以赞成或不合意这些不雅点,但都不会错。

如不雅你关怀 JSON 解析机能,并欲望它更快,LoganSquare 是一个很好的选择。它们在编译的时刻完成了其他库须要在运行时完成的工作。与其他的库比拟,这将使你节约大年夜约 1/4 的时光,或四倍的机能晋升。如不雅你真的关怀 JSON 机能,你不该该应用 JSON。

数据库 - SQL

对于数据库,我们知道常见的是 SQLite - 标准 Android 库。

SQLDelight 也来自 Square。他们写了很多库。它试图避免成为一个完全的 ORM,因为 ORM 会泄漏太多你的代码,并且往往迫使你做太多的工作,当然它仍然试图使数据库的工作更轻易些。它使得 API 类型安然,使得 SQL 语句组织的很好(它测验测验使其更轻易些,同时不会太重)。

如不雅你愿意去做一个完全的 ORM,那么竽暌剐很多很好的看魏GreenDAO,OrmLite,DBFlow 是一些比较受迎接的( 还有很多其他选择 )。他们都邑说,它们在机能便利表示最好。每个库都有些图表,这些图表显示它们比其他的筹划快 100 倍。我的建议是易用性是第一优先事项,然后再推敲是他们在机能上是不是会更好。

数据库 - NoSQL

Realm 是 NoSQL 的办法。它超等快。与其他可比较的数据库不合,Realm 支撑的文档异常多。这可以最终节俭你大年夜量的开辟时光,并且无所谓数据库类型。

Realm 数据库须要特别留意的处所是它的大年夜小( 我认为我们最初添加它时,我们的应用法度榜样大年夜小增长了一倍 )。原因是它是一个本地库。对于每个芯片架构,它们在你的应用法度榜样中都包含了 Realm 数据库的完全副本。为了避免这种情况,你可以将此代码放入 Gradle( 拜见幻灯片中的代码 ),并为每个架构生成一个零丁的 APK。你把它分化成若干个版本,大年夜小就会削减若干。这也会使你的内存节俭很多。对于任何本地运行的 C++ 代码,这是精确的做法,所以在 Crashlytics 和其他一些受迎接的库中,你能看到同样的收益。

还有别的一款很酷的 Google Play 市廛的应用法度榜样 Native Lib。 - 它在 Play 市廛中,它会显示些本机库,以便你可以看到你是否为你的 APK 下载了不实用于你手机的代码库。如许做会削减内存应用。如不雅你就是在寻找手机上保存数据的筹划,你可能欲望在手机上存储数据。如不雅你正在构建一次性的应用法度榜样,请不要保持数据。如不雅你正在应用 Realm 在存储量很小的手机上构建应用(为什么在这种情况下你的应用须要占用大年夜量的存储)?但总的来说,这是一个异常好的数据库解决筹划。

有很多办法来做 MVP。我推荐的第一个库是 Mosby 。即使你不应用 Mosby,他们也有很棒的教程和 Android 相干的文┞仿( 比如 MVP 应当是什么样的,它若何工作 )。它重要能供给的功能是给你的 presenter 供给视图状况。

另一个方面是移动平台:移动开辟人员的妄图,我们不再须要这些办事器指南。我们也可以本身构建应用法度榜样。以前的 Parse 是最好的例子(可能会安眠)。

模型 视图 表示(MVP)

如今移动平台中最有名的就是 Firebase 和 Realm。它们都是 NoSQL 模型,它们有一些萌芽方面的挑衅,然则构建速度异常异常快。异常合适进行同步更新。聊天是最常见的解决筹划,你发送聊天消息,忽然所有的手机都能获取更新。不必构建数据库,不必拥有办事器,你可以应用个一一个解决筹划。它使得构建过程异常敏捷,立时完成应用处推向市场。并且机能也特别好。

This content has been published here with the express permission of the author.

Realm 与 Firebase 的差别是它有离线优先的长处。它们都可以脱机,然则 Firebase 是过后解救,而 Realm 是事先就设计好了,Realm 在很多方面都支撑离线。很多应用法度榜样几乎不须要在线行动。如不雅你正在推敲运行应用跟踪法度榜样,我们欲望同步我们的运行状况,并且我们欲望所有功能都能完全脱机运行,之后在线工作也正常。Realm 就会脱颖而出。

Analytics

我爱好分析。精益创业的说法是。如不雅你可以测量它,你就可以优化它。如不雅你没稀有字的器械,一切都是随机的,你只能猜想若何使它更好。我爱好有具体的分析,来懂得这个改变是否使工作变得更好?人们是否应用此功能?若何改良它?

Analytics 是封装第三方库的幻想选择。如不雅你封装好了 Analytics,那么你应当可以或许在不修改任何功能代码的前提下,完全替代你的分析办事。你应当可以或许很轻易地添加一个新的 Analytics 办事,以便它们能同时工作。封装 Analytics 代码是一个很好的实践。


  推荐阅读

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

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


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

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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